Author: Yun-Chi (Yuki) Chen Affiliation: Graduate Institute of Biomedical Electronics and Bioinformatics, National Taiwan University
This notebook is for the final project of 113-2 scRNA-seq analysis class. This project aims to analyze the data from this paper using Seurat and other packages.
library(Seurat)
Loading required package: SeuratObject
Loading required package: sp
Attaching package: ‘SeuratObject’
The following objects are masked from ‘package:base’:
intersect, t
Registered S3 method overwritten by 'data.table':
method from
print.data.table
Registered S3 method overwritten by 'htmlwidgets':
method from
print.htmlwidget tools:rstudio
library(ggplot2)
library(tidyr)
library(dplyr)
Attaching package: ‘dplyr’
The following objects are masked from ‘package:stats’:
filter, lag
The following objects are masked from ‘package:base’:
intersect, setdiff, setequal, union
set.seed(124)
# Create an empty list to store Seurat objects for each sample
seurat_list <- list()
# List of sample identifiers
samples <- c("GSM5474333_NHS1", "GSM5474334_NHS2", "GSM5474335_NHS3", "GSM5474336_AD2", "GSM5474337_AD3", "GSM5474338_AD4", "GSM5474339_AD5")
# Directory containing the raw files
raw_data_dir <- "/Users/yunchichen/113-2_scRNA/final_project/GSE180885_RAW/"
# Loop through each sample and create a Seurat object
for (sample in samples) {
# Construct the directory path where the 10X data is stored
data_dir <- paste0(raw_data_dir, sample)
# Read 10X data using the directory path
data <- Read10X(data.dir = data_dir) # The Read10X can only read the barcodes.tsv, features.tsv, and matrix.mtx (.gz files are ok) without any prefix
# Create Seurat object
seurat_obj <- CreateSeuratObject(counts = data)
seurat_list[[sample]] <- seurat_obj
}
# Merge each samples for easier QC
seurat_merged <- merge(seurat_list[[1]], y = seurat_list[c("GSM5474334_NHS2", "GSM5474335_NHS3", "GSM5474336_AD2", "GSM5474337_AD3", "GSM5474338_AD4", "GSM5474339_AD5")], add.cell.ids = names(seurat_list))
# Create Sample column that is identical as row name (sample_condition and num_barcode)
seurat_merged$Sample <- rownames(seurat_merged@meta.data)
# Separate the 'Sample' column into 'Sample_ID', 'Sample', and 'Barcode'
seurat_merged@meta.data <- separate(seurat_merged@meta.data, col = 'Sample',
into = c('Sample_ID', 'Sample', 'Barcode'),
sep = '_')
# Keep only the alphabetic part of the 'Sample' column and assign to 'Condition' column (e.g., remove the 1 of NHS1)
seurat_merged@meta.data$Condition <- gsub("\\d", "", seurat_merged@meta.data$Sample)
# Reorder the 'Sample' factor levels to display NHS samples first, followed by AD samples
seurat_merged$Sample <- factor(seurat_merged$Sample, levels = c("NHS1", "NHS2", "NHS3", "AD2", "AD3", "AD4", "AD5"))
# Calculate mitochondrial percentage
seurat_merged$percent.mt <- PercentageFeatureSet(seurat_merged, pattern = "^MT-")
# Visualize QC metrics as a violin plot
VlnPlot(seurat_merged, features = c("nFeature_RNA", "nCount_RNA", "percent.mt"), ncol = 3, group.by = 'Sample', pt.size = 0)
Warning: Default search for "data" layer in "RNA" assay yielded no results; utilizing "counts" layer instead.Warning: The `slot` argument of `FetchData()` is deprecated as of SeuratObject 5.0.0.
Please use the `layer` argument instead.Warning: `PackageCheck()` was deprecated in SeuratObject 5.0.0.
Please use `rlang::check_installed()` instead.
plot1 <- FeatureScatter(seurat_merged, feature1 = "nCount_RNA", feature2 = "percent.mt")
plot2 <- FeatureScatter(seurat_merged, feature1 = "nCount_RNA", feature2 = "nFeature_RNA") + geom_smooth(method = 'lm')
plot1
plot2
There are 26278 cells in seurat_merged. After filtering, there are 18208 cells in seurat_filtered. These thresholds (nFeature_RNA < 5000 & percent.mt < 10) are from the original paper, which are also reasonable from our QC visualization.
seurat_filtered <- subset(seurat_merged, subset = nFeature_RNA < 5000 & percent.mt < 10)
seurat_list_filtered <- SplitObject(seurat_filtered, split.by = 'Sample')
for (i in 1:length(seurat_list_filtered)) {
# Normalize, find variable features, scale, run PCA
seurat_list_filtered[[i]] <- seurat_list_filtered[[i]] %>%
NormalizeData() %>%
FindVariableFeatures() %>%
ScaleData() %>%
RunPCA(npcs = 20)
# Visualize the elbow plot for each Seurat object to identify the number of PCs to use
p1 <- ElbowPlot(seurat_list_filtered[[i]]) + ggtitle(paste("Elbow Plot for", names(seurat_list_filtered)[i])) +
theme(plot.title = element_text(hjust = 0.5)) # center the title
print(p1)
# Find neighbors using the first 20 PCs
seurat_list_filtered[[i]] <- FindNeighbors(seurat_list_filtered[[i]], dims = 1:20)
# Perform clustering (find clusters based on the neighbors)
seurat_list_filtered[[i]] <- FindClusters(seurat_list_filtered[[i]], resolution = 0.5)
# Run UMAP using the first 20 principal components from PCA
seurat_list_filtered[[i]] <- RunUMAP(seurat_list_filtered[[i]], dims = 1:20)
# Visualize UMAP
p2 <- DimPlot(seurat_list_filtered[[i]], reduction = "umap") + ggtitle(paste("UMAP for", names(seurat_list_filtered)[i])) +
theme(plot.title = element_text(hjust = 0.5)) # center the title
print(p2)
# Define the RDS filename with the directory path
rds_filename <- paste0("/Users/yunchichen/113-2_scRNA/final_project/processed_data/", "filtered_", names(seurat_list_filtered)[i], ".rds")
# Save the Seurat object to the RDS file
saveRDS(seurat_list_filtered[[i]], file = rds_filename)
}
Normalizing layer: counts.1
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Finding variable features for layer counts.1
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Centering and scaling data matrix
|
| | 0%
|
|================================================= | 50%
|
|==================================================================================================| 100%
PC_ 1
Positive: AREG, XCL1, ZNF331, PHLDA1, XCL2, TRDC, SOCS1, LTB, CITED2, GNLY
GADD45G, CREM, CCL5, CSF2, PRNP, ALOX5AP, TYROBP, SLAMF1, SPRY1, NKG7
KLRC1, PRDM1, CD40LG, KLRD1, CCR6, PLIN2, PTGS2, PLAC8, ITM2A, ARID5B
Negative: CPVL, LYZ, HLA-DRA, HLA-DQA1, HLA-DPB1, HLA-DPA1, C1orf54, CST3, HLA-DRB1, HLA-DMA
LGALS2, S100B, CD74, HLA-DQB1, SPI1, AIF1, CLEC7A, LY86, CLEC9A, IRF8
RNASE6, HLA-DMB, GRN, DNASE1L3, COTL1, AC020656.1, TACSTD2, PKIB, BASP1, TGFBI
PC_ 2
Positive: ACTB, FTH1, GADD45B, AREG, XCL1, S100A4, ID2, HSP90AA1, XCL2, TYROBP
FCER1G, ZNF331, RGS1, CREM, PHLDA1, GNLY, TRDC, GAPDH, S100A10, MAFF
KLRC1, ARL5B, NKG7, CCL4, CKS2, DUSP4, GEM, HSPA1B, KLRD1, PRNP
Negative: MZB1, JCHAIN, DERL3, TNFRSF17, IGHG1, IGKC, IGHG2, IGHG3, GNG7, CD79A
IGHA2, QPCT, FCRL5, IGHA1, IGLV3-1, TNFRSF13B, SEC11C, PRDX4, IGHGP, IGLC2
LINC02362, SPAG4, CD27, IGHG4, FCRLA, MEF2C, SSR4, POU2AF1, AL391056.1, FKBP11
PC_ 3
Positive: VIM, FTH1, S100A6, ZNF331, RGS1, LGALS1, LTB, PRNP, DUSP4, SLAMF1
S100A4, PHLDA1, GPR183, PLIN2, CCR6, ARL5B, CD40LG, DNAJB9, CREM, IL13
PTGS2, HPGDS, LGALS3, AREG, HSP90AA1, TIMP1, BATF, PFKFB3, NINJ1, ARID5B
Negative: NKG7, CCL4, GZMA, GNLY, KLRD1, CCL3, GZMB, KLRF1, CCL5, CMC1
CLIC3, FCGR3A, SPON2, CCL4L2, GZMM, IFNG, PRF1, CST7, GZMH, FGFBP2
CD7, TYROBP, PYHIN1, CD160, FCER1G, KLRC1, GZMK, LITAF, SH2D1A, S1PR5
PC_ 4
Positive: LGALS2, C1orf54, LYZ, DNASE1L3, CLEC9A, RNASE6, IRF8, CLEC7A, CPVL, CST3
HLA-DQA1, HLA-DPB1, HLA-DPA1, WDFY4, HLA-DRA, MNDA, VMO1, SLAMF8, MPEG1, SHTN1
BASP1, HLA-DRB1, HLA-DQB1, IER5, CD74, CXCL16, CD83, CLIC2, RUBCNL, HLA-DMA
Negative: CDK1, PCLAF, S100A4, ZWINT, UBE2C, TYMS, STMN1, TK1, CDKN3, BIRC5
CKS1B, NUSAP1, UBE2T, HIST1H4C, CENPF, PPM1N, MAD2L1, TIMP1, AURKB, PLEK2
LDHA, LGALS1, TPI1, SGO1, HPGDS, RPS4Y1, TUBA1B, TUBB, GGH, MMP9
PC_ 5
Positive: ALOX5AP, BATF, SLAMF1, IL13, HPGDS, PLIN2, CD40LG, GPR183, CCR6, NBAS
MAF, LTB, LMO4, PRDM1, IL17RB, FABP5, PTGS2, FTH1, PTGDR2, SOCS1
MIIP, ZEB2, DUSP6, C1orf162, LINC02195, DNAJB9, CXCR6, GATA3-AS1, STMN1, CITED2
Negative: XCL1, XCL2, SPINK2, FCER1G, TMPRSS11E, TYROBP, GADD45B, GSN, SPRY1, ZNF683
EMP1, MAFF, GEM, SPTSSB, KLRC1, RAMP1, MB, AREG, RGS10, RARRES2
CD9, PTGER3, ITM2C, CORO1B, ISG15, KRT86, LINC01871, PECAM1, LGALS1, IFITM3
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 3648
Number of edges: 143967
Running Louvain algorithm...
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Maximum modularity in 10 random starts: 0.8673
Number of communities: 11
Elapsed time: 0 seconds
Using method 'umap'
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
|
| | 0%
|
|================================================= | 50%
|
|==================================================================================================| 100%
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 2759
Number of edges: 111427
Running Louvain algorithm...
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Maximum modularity in 10 random starts: 0.8378
Number of communities: 9
Elapsed time: 0 seconds
Using method 'umap'
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
|
| | 0%
|
|================================================= | 50%
|
|==================================================================================================| 100%
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 4450
Number of edges: 168858
Running Louvain algorithm...
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Maximum modularity in 10 random starts: 0.8978
Number of communities: 13
Elapsed time: 0 seconds
Using method 'umap'
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
|
| | 0%
|
|================================================= | 50%
|
|==================================================================================================| 100%
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 1936
Number of edges: 57143
Running Louvain algorithm...
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Maximum modularity in 10 random starts: 0.9070
Number of communities: 12
Elapsed time: 0 seconds
Using method 'umap'
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
|
| | 0%
|
|================================================= | 50%
|
|==================================================================================================| 100%
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 1956
Number of edges: 60466
Running Louvain algorithm...
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Maximum modularity in 10 random starts: 0.9001
Number of communities: 11
Elapsed time: 0 seconds
Using method 'umap'
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
|
| | 0%
|
|================================================= | 50%
|
|==================================================================================================| 100%
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 1664
Number of edges: 48805
Running Louvain algorithm...
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Maximum modularity in 10 random starts: 0.9061
Number of communities: 12
Elapsed time: 0 seconds
Using method 'umap'
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
|
| | 0%
|
|================================================= | 50%
|
|==================================================================================================| 100%
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 1795
Number of edges: 56029
Running Louvain algorithm...
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Maximum modularity in 10 random starts: 0.8929
Number of communities: 9
Elapsed time: 0 seconds
Using method 'umap'
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
# Install Doublet Finder
remotes::install_github('chris-mcginnis-ucsf/DoubletFinder', force = TRUE)
Downloading GitHub repo chris-mcginnis-ucsf/DoubletFinder@HEAD
── R CMD build ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
checking for file ‘/private/var/folders/xh/0jp7wn_x1_g49f9z21wrqcs40000gn/T/RtmpN5jY3Z/remotesd94411462bf9/chris-mcginnis-ucsf-DoubletFinder-1b244d8/DESCRIPTION’ ...
✔ checking for file ‘/private/var/folders/xh/0jp7wn_x1_g49f9z21wrqcs40000gn/T/RtmpN5jY3Z/remotesd94411462bf9/chris-mcginnis-ucsf-DoubletFinder-1b244d8/DESCRIPTION’
─ preparing ‘DoubletFinder’:
checking DESCRIPTION meta-information ...
✔ checking DESCRIPTION meta-information
─ checking for LF line-endings in source and make files and shell scripts
─ checking for empty or unneeded directories
─ building ‘DoubletFinder_2.0.6.tar.gz’
* installing *source* package ‘DoubletFinder’ ...
** using staged installation
** R
** data
*** moving datasets to lazyload DB
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded from temporary location
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (DoubletFinder)
# Library the packages needed for doublet finder
library(Matrix)
Attaching package: ‘Matrix’
The following objects are masked from ‘package:tidyr’:
expand, pack, unpack
library(fields)
Loading required package: spam
Spam version 2.11-1 (2025-01-20) is loaded.
Type 'help( Spam)' or 'demo( spam)' for a short introduction
and overview of this package.
Help for individual functions is also obtained by adding the
suffix '.spam' to the function name, e.g. 'help( chol.spam)'.
Attaching package: ‘spam’
The following object is masked from ‘package:Matrix’:
det
The following objects are masked from ‘package:base’:
backsolve, forwardsolve
Loading required package: viridisLite
Try help(fields) to get started.
library(KernSmooth)
KernSmooth 2.23 loaded
Copyright M. P. Wand 1997-2009
library(ROCR)
library(parallel)
library(DoubletFinder)
library(Seurat)
library(ggplot2)
library(tidyr)
library(dplyr)
# Read the filtered RDS files-----------------------------
# List all RDS files that start with 'filtered_' in the specified directory
rds_files <- list.files("/Users/yunchichen/113-2_scRNA/final_project/processed_data/",
pattern = "^filtered_.*\\.rds$",
full.names = TRUE)
# Initialize an empty list to store the Seurat objects
seurat_list_filtered <- list()
# Loop over each RDS file and read it into the list
for (file in rds_files) {
# Read the Seurat object from the RDS file
seurat_obj <- readRDS(file)
# Extract the sample name from the filename (optional, for naming)
sample_name <- gsub("^filtered_", "", gsub(".rds", "", basename(file))) # Remove "filtered_" and ".rds"
# Add the Seurat object to the list with sample_name as key
seurat_list_filtered[[sample_name]] <- seurat_obj
}
# print sample names to check if all the objects are loaded properly by inspecting the list
print(names(seurat_list_filtered))
[1] "AD2" "AD3" "AD4" "AD5" "NHS1" "NHS2" "NHS3"
# Loop each sample to run Doublet Finder workflow-----------------------------
for (i in 1:length(seurat_list_filtered)){
# pK Identification (no ground-truth)-----------------------------
seurat.list.df <- paramSweep(seurat_list_filtered[[i]], PCs = 1:20, sct = FALSE)
seurat.df <- summarizeSweep(seurat.list.df, GT = FALSE)
seurat.pktable <- find.pK(seurat.df)
# Visualize pK identification with ggplot
p3 <- ggplot(seurat.pktable, aes(pK, BCmetric, group = 1)) +
geom_point() +
geom_line() +
ggtitle(paste("pK Identification for", names(seurat_list_filtered)[i])) +
theme(plot.title = element_text(hjust = 0.5),
axis.text = element_text(size = 12),
axis.title = element_text(size = 14)) +
labs(x = "pK Value", y = "BCmetric")
print(p3)
# Extract the best pK value
pK <- seurat.pktable %>%
filter(BCmetric == max(BCmetric)) %>%
select(pK)
pK <- as.numeric(as.character(pK[[1]]))
# Homotypic Doublet Proportion Estimate-----------------------------
# Get the number of cells for the current dataset
num_cells <- nrow(seurat_list_filtered[[i]]@meta.data)
# Tailor the doublet formation rate based on the number of cells
doublet_rate <- ifelse(num_cells <= 1000, 0.008,
ifelse(num_cells <= 2000, 0.016,
ifelse(num_cells <= 3000, 0.023,
ifelse(num_cells <= 4000, 0.031, 0.039))))
# Model homotypic doublets
annotations <- seurat_list_filtered[[i]]@meta.data$seurat_clusters
homotypic.pro <- modelHomotypic(annotations)
nExp_poi <- round(doublet_rate * num_cells)
nExp_poi.adj <- round(nExp_poi*(1-homotypic.pro))
# Run Doublet Finder-----------------------------
# ISSUE: Error in xtfrm.data.frame(x) : cannot xtfrm data frames, solved by https://github.com/chris-mcginnis-ucsf/DoubletFinder/issues/228
seurat_list_filtered[[i]] <- doubletFinder(seurat_list_filtered[[i]], PCs = 1:20, pN = 0.25, pK = pK, nExp = nExp_poi.adj, sct = FALSE)
# Visualize doublet-----------------------------
# Dynamically generate the column name based on pK and nExp_poi.adj
df_column_name <- paste0("DF.classifications_0.25_", pK, "_", nExp_poi.adj)
p4 <- DimPlot(seurat_list_filtered[[i]], reduction = "umap", group.by = df_column_name) + ggtitle(names(seurat_list_filtered)[i]) +
theme(plot.title = element_text(hjust = 0.5))
print(p4)
# Subset the singlet cells (cut the doublet cells)-----------------------------
# Visualize how many genes and cells before DF processing
seurat_list_filtered[[i]]@assays$RNA@layers$counts@Dim
# Keep only the singlet by subset()
#ISSUE: Error in FetchData():! None of the requested variables were found by using
#`pro_filter <- subset(seurat_list_filtered[[i]], subset = seurat_list_filtered[[i]]@meta.data[[df_column_name]] == "Singlet")`
# The solution is modified from https://github.com/chris-mcginnis-ucsf/DoubletFinder/issues/84#issuecomment-645590209
pro_filter <- subset(seurat_list_filtered[[i]],
cells = rownames(seurat_list_filtered[[i]]@meta.data)[
which(seurat_list_filtered[[i]]@meta.data[[df_column_name]] == "Singlet")
])
# Visualize how many genes and cells after DF processing
pro_filter@assays$RNA@layers$counts@Dim
# Define the RDS filename with the directory path
rds_filename2 <- paste0("/Users/yunchichen/113-2_scRNA/final_project/processed_data/", "doublet_removed_", names(seurat_list_filtered)[i], ".rds")
# Save the Seurat object to the RDS file
saveRDS(pro_filter, file = rds_filename2)
}
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Finding variable features for layer counts
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
Centering and scaling data matrix
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
NULL
[1] "Creating 645 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
NULL
[1] "Creating 652 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
NULL
[1] "Creating 555 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
NULL
[1] "Creating 598 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
NULL
[1] "Creating 1216 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
NULL
[1] "Creating 920 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
[1] "Creating artificial doublets for pN = 5%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 10%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 15%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 20%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 25%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
[1] "Creating artificial doublets for pN = 30%"
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Defining neighborhoods..."
[1] "Computing pANN across all pK..."
[1] "pK = 0.005..."
[1] "pK = 0.01..."
[1] "pK = 0.02..."
[1] "pK = 0.03..."
[1] "pK = 0.04..."
[1] "pK = 0.05..."
[1] "pK = 0.06..."
[1] "pK = 0.07..."
[1] "pK = 0.08..."
[1] "pK = 0.09..."
[1] "pK = 0.1..."
[1] "pK = 0.11..."
[1] "pK = 0.12..."
[1] "pK = 0.13..."
[1] "pK = 0.14..."
[1] "pK = 0.15..."
[1] "pK = 0.16..."
[1] "pK = 0.17..."
[1] "pK = 0.18..."
[1] "pK = 0.19..."
[1] "pK = 0.2..."
[1] "pK = 0.21..."
[1] "pK = 0.22..."
[1] "pK = 0.23..."
[1] "pK = 0.24..."
[1] "pK = 0.25..."
[1] "pK = 0.26..."
[1] "pK = 0.27..."
[1] "pK = 0.28..."
[1] "pK = 0.29..."
[1] "pK = 0.3..."
NULL
[1] "Creating 1483 artificial doublets..."
[1] "Creating Seurat object..."
[1] "Normalizing Seurat object..."
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Finding variable genes..."
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
[1] "Scaling data..."
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
[1] "Running PCA..."
[1] "Calculating PC distance matrix..."
[1] "Computing pANN..."
[1] "Classifying doublets.."
# Read the RDS files that have removed doublets
rds_files <- list.files("/Users/yunchichen/113-2_scRNA/final_project/processed_data/",
pattern = "^doublet_removed_.*\\.rds$",
full.names = TRUE)
# Initialize an empty list to store the Seurat objects
seurat_list_rmd <- list()
# Loop over each RDS file and read it into the list
for (file in rds_files) {
# Read the Seurat object from the RDS file
seurat_obj <- readRDS(file)
# Extract the sample name from the filename (optional, for naming)
sample_name <- gsub("^doublet_removed_", "", gsub(".rds", "", basename(file)))
# Add the Seurat object to the list with sample_name as key
seurat_list_rmd[[sample_name]] <- seurat_obj
}
# print sample names to check if all the objects are loaded properly by inspecting the list
print(names(seurat_list_rmd))
[1] "AD2" "AD3" "AD4" "AD5" "NHS1" "NHS2" "NHS3"
# Merge Seurat objects from the list, using sample names as the cell identifiers
seurat_merged_rmd <- merge(seurat_list_rmd[[1]],
y = seurat_list_rmd[2:length(seurat_list_rmd)],
add.cell.ids = names(seurat_list_rmd))
# Order the levels to make NHS showed before AD
seurat_merged_rmd$Sample <- factor(seurat_merged_rmd$Sample, levels = c("NHS1", "NHS2", "NHS3", "AD2", "AD3", "AD4", "AD5"))
# Preprocess the merged Seurat object using standard workflow
seurat_merged_rmd <- seurat_merged_rmd %>%
FindVariableFeatures() %>%
ScaleData() %>%
RunPCA(npcs = 20) # Set the number of PCs based on your analysis needs
Finding variable features for layer counts.4.1
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Finding variable features for layer counts.5.2
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Finding variable features for layer counts.6.3
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Finding variable features for layer counts.7.4
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Finding variable features for layer counts.1.5
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Finding variable features for layer counts.2.6
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Finding variable features for layer counts.3.7
Calculating gene variances
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Calculating feature variances of standardized and clipped values
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Centering and scaling data matrix
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
PC_ 1
Positive: SRGN, CD69, CXCR4, CD52, CTSW, KLRB1, IL32, HCST, S100A4, CYBA
RGCC, LAPTM5, RGS1, CORO1A, TRDC, DUSP2, PTPRC, BIRC3, GMFG, IL2RG
LGALS1, CD53, CD37, TYROBP, SLC2A3, CYTIP, RHOH, LCP1, LTB, TRBC1
Negative: CD9, YBX3, S100A16, PERP, SFN, KRT14, S100A14, DSP, CST3, AQP3
KRT5, LY6D, HSPB1, FXYD3, DSC3, IFI27, MARCKS, CAV1, RND3, S100A2
S100A11, IFITM3, LGALS7, GSTP1, LGALS7B, ANXA2, TXN, CXCL14, KRT6A, TUBA1C
PC_ 2
Positive: S100A14, SFN, LY6D, DSP, LGALS7, AQP3, FXYD3, PERP, LGALS7B, DSC3
SERPINB5, JUP, TACSTD2, PKP1, DSG1, LAD1, DMKN, RAB25, IMPA2, LYPD3
KRT5, FGFBP1, PHGDH, NSG1, ALDH2, S100A16, CSTA, KRT6A, PDZK1IP1, RHOV
Negative: COL1A2, COL3A1, COL6A2, COL6A1, COL1A1, IGFBP4, THY1, TIMP2, COL6A3, FSTL1
MMP2, FBLN2, AEBP1, PLPP3, SPARC, PCOLCE, SFRP2, PRRX1, CCDC80, FBN1
LUM, CTSK, VCAN, TWIST1, TWIST2, FN1, PLAC9, DPT, SERPING1, COL5A2
PC_ 3
Positive: RAMP2, EMCN, RNASE1, ADGRL4, PLVAP, A2M, ECSCR, SOX18, EGFL7, CD93
CLDN5, RAMP3, CLEC14A, PECAM1, MCTP1, SPARCL1, ESAM, IL3RA, CDH5, FLT1
MMRN2, JAM2, TM4SF1, MYCT1, PCAT19, BCAM, CYYR1, ACKR1, TSPAN7, LMCD1
Negative: LUM, SFRP2, COL1A1, CTSK, TWIST2, COL1A2, COL3A1, FBLN1, DPT, COL6A3
CFD, MFAP4, LRP1, VCAN, COL5A1, COL6A2, FBLN2, MXRA8, THY1, DCN
PCOLCE, C1S, CCDC80, COL6A1, MMP2, COMP, PDGFRA, COL5A2, AEBP1, RCN3
PC_ 4
Positive: KRTDAP, SBSN, CALML5, SPRR1B, SULT2B1, LYPD3, EPHX3, C10orf99, KCNK7, SLPI
KRT2, DSC1, BBOX1, IVL, DMKN, CD24, DEFB1, KRT1, RDH12, DEGS2
ALDH3B2, CLDN4, KRT6C, KRT10, TMEM40, KRT6B, THEM5, TMEM45B, ELOVL4, CALML3
Negative: TOP2A, UBE2C, CDK1, NUSAP1, ASPM, BIRC5, CCNA2, PBK, CENPF, CDKN3
CCNB2, TPX2, HMMR, DLGAP5, CCNB1, MKI67, ANLN, PCLAF, KIF23, NUF2
CDCA3, DEPDC1, TYMS, CDC20, CENPA, CEP55, TK1, CENPW, TTK, ZWINT
PC_ 5
Positive: SBSN, FABP5, SPRR1B, CALML5, KRTDAP, SULT2B1, CRABP2, CD24, KRT6B, C10orf99
SERPINB3, IVL, SERPINB4, KRT6C, EPHX3, TMEM45B, SPRR2A, RDH12, GGH, S100A7
GLTP, UBE2C, ALDH3B2, CYSRT1, TOP2A, ELOVL4, TMEM40, MAL2, CCNA2, NCCRP1
Negative: COL17A1, DST, KRT15, CYR61, CXCL14, LAMB3, ASPN, CCL2, WNT3, ASS1
WNT4, GDPD2, ITGB4, IL1R2, COL7A1, CAV1, CAV2, CTNNAL1, ALDH3A1, SERPINH1
DAPL1, FAM213A, IL20, TP53AIP1, FJX1, SCUBE2, FOXQ1, PDLIM1, FTH1, S100A2
# Elbow Plot to visualize the optimal number of PCs
ElbowPlot(seurat_merged_rmd)
# Find Neighbors
seurat_merged_rmd <- FindNeighbors(seurat_merged_rmd, dims = 1:20) # Using the first 20 PCs
Computing nearest neighbor graph
Computing SNN
# Find Clusters (Resolution can be adjusted)
seurat_merged_rmd <- FindClusters(seurat_merged_rmd, resolution = 0.5) # Adjust resolution based on your clustering needs
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 17812
Number of edges: 638354
Running Louvain algorithm...
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Maximum modularity in 10 random starts: 0.9354
Number of communities: 19
Elapsed time: 2 seconds
# Run UMAP for dimensionality reduction
seurat_merged_rmd <- RunUMAP(seurat_merged_rmd, dims = 1:20) # You can adjust the number of dimensions if necessary
16:35:58 UMAP embedding parameters a = 0.9922 b = 1.112
16:35:58 Read 17812 rows and found 20 numeric columns
16:35:58 Using Annoy for neighbor search, n_neighbors = 30
16:35:58 Building Annoy index with metric = cosine, n_trees = 50
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
16:35:59 Writing NN index file to temp file /var/folders/xh/0jp7wn_x1_g49f9z21wrqcs40000gn/T//RtmpN5jY3Z/filed9443935b713
16:35:59 Searching Annoy index using 1 thread, search_k = 3000
16:36:02 Annoy recall = 100%
16:36:03 Commencing smooth kNN distance calibration using 1 thread with target n_neighbors = 30
16:36:04 Initializing from normalized Laplacian + noise (using RSpectra)
16:36:05 Commencing optimization for 200 epochs, with 743812 positive edges
16:36:05 Using rng type: pcg
Using method 'umap'
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
16:36:12 Optimization finished
# Visualize UMAP
p1 <- DimPlot(seurat_merged_rmd, reduction = "umap", label = TRUE, group.by = "Sample")
p2 <- DimPlot(seurat_merged_rmd, reduction = "umap", label = TRUE, group.by = "Condition")
p1 + p2
From the non-integrated results, we observe a batch effect between the NHS and AD conditions. To address this, we need to perform data integration to align cell types across conditions (e.g., NHS ILC with AD ILC). This integration will help us identify more accurate differentially expressed genes (DEGs) by reducing batch effects and focusing on the true biological differences between conditions.
The next step is to decide on the integration method. The Seurat tutorial suggests using Canonical Correlation Analysis (CCA) for integration. However, more complex scenarios, like ours with varying donors and protocols between NHS and AD, require a more robust approach, as described in this tutorial. Given these complexities, we will use Harmony for integration, as used in the original paper of this dataset.
There are more discussion on how to integrate different biological samples across conditions like 1, 2, and 3, but using Harmony seems to be a better solution in our case.
We followed the first scenario in this harmony tutorial.
# install and library harmony
# install.packages("harmony")
library(harmony)
# Perform log-normalization and feature selection, as well as SCT normalization on merged object
seurat_merged_rmd <- seurat_merged_rmd %>%
NormalizeData() %>%
FindVariableFeatures(selection.method = "vst", nfeatures = 2000) %>%
ScaleData() %>%
SCTransform(vars.to.regress = "percent.mt")
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Warning: Residuals not computed for the following requested features: COL1A2, COL3A1, KRTDAP, IGHG3, IGHG1, S100A7, KRT2, KRT6B, KRT16, KRT6C, LUM, KRT15, KRT17, S100A8, SFRP2, JCHAIN, IGHA2, DCN, KRT6A, IGHGP, S100A9, SPARCL1, IGHG2, POSTN, SPARC, CALML5, MGP, CCL2, MMP2, SPRR1B, SERPINB4, CXCL14, IGFBP3, TNC, COMP, CXCL12, CCDC80, THY1, IGHG4, TAGLN, IGFBP5, SBSN, CTSK, RAMP2, MZB1, S100A2, ACKR1, GNG11, IGHM, PLVAP, KRT5, FBN1, FBLN1, PLAC9, VCAN, CRYAB, SPRR2A, FBLN2, A2M, FSTL1, UBE2C, DPT, MFAP5, CCL20, C11orf96, AQP1, MFAP4, TNXB, SELE, COL4A1, RNASE1, LTF, SLPI, CTGF, SERPINF1, RGS5, CCL19, RAMP3, CLDN5, WISP2, COL4A2, PLPP3, NNMT, TIMP3, CYR61, SOD3, C1S, DIO2, SOX18, CXCL1, IGHA1, IGFBP6, CCL26, C10orf99, CALML3, FN1, TWIST2, C2CD4B, TM4SF1, LY6D, SERPINB3, PRRX1, CCR6, NR2F2, NDUFA4L2, TOP2A, COL14A1, EMCN, IVL, COL5A2, APOD, COL6A6, EGFL6, COL15A1, HLA-DRB5, IFI27, CTHRC1, EGFL7, RARRES2, CPE, PDGFRB, AEBP1, LGALS2, COL5A1, TNFAIP6, SPRR2D, COL12A1, CLDN4, BGN, TMEM176B, PTN, SPRR2E, GJB2, PMP22, APCDD1, COL6A5, ADGRL4, HPGDS, TWIST1, CH25H, COL17A1, FGFBP1, EDN2, CNFN, SFN, CRABP1, MEG3, CLEC14A, HTRA1, PODXL, ECSCR, MXRA8, IGLC2, CXCL3, SLIT3, CD24, CCL27, IL20, ACKR3, IGFL1, TCIM, DCT, LGALS7B, TMEM45A, F10, CD40LG, CDK1, SERPING1, DSC1, LRP1, PRELP, LMCD1, DEPP1, PDGFRA, PI15, CD34, ASPM, CSTA, ALDH1A1, SERPINB2, IL1R2, MYLK, IGFBP2, CD93, MGST1, JAM2, LHFPL6, IGLC3, STEAP4, PLEKHH2, FLT1, TMEM176A, MT1G, MYH11, WNT5A, DEFB1, SOSTDC1, DSP, COX7A1, VCAM1, SOX17, ID4, TACSTD2, THBS2, CYP1B1, RCN3, EDN1, KCTD12, CCNB2, ELN, SEMA3C, ENPP2, CHI3L2, TSPAN7, ISLR, HTRA3, OLFML3, SLURP1, SPINK5, C1QTNF3, CYP26B1, LTBP1, FKBP10, EPAS1, ANGPTL1, FMOD, ABI3BP, PLAT, SRPX, CAVIN3, ESAM, CCL23, TNFAIP2, BICC1, ZNF385D, CP, FAP, HES5, ADAMTS5, GJB6, CXCR6, CD248, TM4SF18, AXL, ECM1, ITIH5, MLANA, LGALS7, RND3, MUCL1, ASPN, FILIP1L, S100A14, HAS2, KLK7, TINAGL1, SNCG, NRN1, HSPG2, SERPINB13, SYNPO2, KRT23, COL23A1, CD27, ASS1, BCAM, MCTP1, SULT2B1, LAMB2, DSC2, EFEMP1, MMP7, CDH11, CRISPLD2, PDGFRL, PDK4, ARHGAP29, S100A7A, MT1M, HMMR, IL3RA, EREG, GAS1, ANPEP, WFDC1, PPP1R14A, NRP1, EMID1, MFAP2, GPX2, TPPP3, NDN, DDR2, VWF, ANGPTL2, EDNRA, FAM25A, TK1, FOXC1, MRC2, AKR1B10, FST, CENPW, LOXL2, DAB2, CHN1, CYYR1, RBP7, FAM198B, LIFR, SYT8, PLAU, RHOV, DSG1, LOX, IGFL2, NOV, MSX1, LMO2, ELF3, SEMA5A, MRGPRF, MS4A1, SDC2, LRRN4CL, CSF2RB, CSRP2, SFRP1, ITGBL1, KCNK7, CAVIN2, VASN, GJA4, BMP2, DEGS2, NRARP, IL6, LAMB3, MAP1B, NMU, MMP14, CDH5, PTGIS, CASP14, CYSRT1, C1QTNF1, WNT4, LAMC1, MMRN2, MEOX2, CTSL, THEM5, TPX2, SAA1, RNASE6, DLC1, MXRA5, GGT5, C3, LAMA4, OMD, ITGA1, KLK11, GPX8, PBK, ITGB5, THBD, SOX9, CXorf36, KREMEN2, FXYD3, MYCT1, MT1H, ADGRF5, OLFML2A, MAL2, NTM, CENPA, APOBEC3A, CCL7, CCNA2, HMCN1, PLAC4, TMEM204, ADAMTS4, NCCRP1, FAM30A, PKP1, PCDH18, IFIT1, ANGPTL4, VWA1, DSC3, FOXQ1, ALDH3A1, PTK7, ANLN, TROAP, PLK1, S100A16, MAFB, A4GALT, ANTXR1, IL33, DKK3, FAM111B, PDZK1IP1, SERPINB7, RUNX1T1, TNS1, ADM5, HOXD8, EMILIN1, APOC1, COL16A1, SGCE, ADAMTS2, NT5E, DLGAP5, ZWINT, CLDN1, UACA, RAB25, WWTR1, HSPB8, HCAR2, LGALSL, PRRX2, FJX1, OVOL1, TBX3, MYO1B, TGM3, SCUBE2, KDR, CD36, ACVRL1, PXDC1, EFNB2, SLCO2A1, FAM114A1, GPNMB, WNT3, EMP2, CCDC3, ITGB4, PDPN, PGF, LY6G6C, TNFRSF21, FKBP9, CDA, CEP55, SERPINB5, ANXA3, PALMD, ECM2, PPP1R3C, MATN2, CENPE, KRT31, LURAP1L, PRSS3, CDCA3, SELENOP, SELP, AURKB, NRP2, GTSE1, BBOX1, PPIC, RAI14, LPAR1, UBE2T, KIF23, RCAN2, KLK10, NUPR1, COL5A3, COL7A1, PDGFC, ST5, SERTAD4-AS1, CDH13, CXADR, SNAI2, MARVELD1, DDX3Y, TCEAL9, STXBP6, CDHR1, TMEM158, COPZ2, ITGA2, FRMD6, NFIB, NPW, GDPD2, KCNJ2, TMEM98, SOX7, CAV2, TMEM40, CLEC2A, IRX2, ITPRIPL2, NOSTRINCentering and scaling data matrix
|
| | 0%
|
|=========================================================================== | 50%
|
|======================================================================================================================================================| 100%
Running SCTransform on assay: RNA
vst.flavor='v2' set. Using model with fixed slope and excluding poisson genes.
Calculating cell attributes from input UMI matrix: log_umi
Variance stabilizing transformation of count matrix of size 16087 by 1909
Model formula is y ~ log_umi
Get Negative Binomial regression parameters per gene
Using 2000 genes, 1909 cells
Found 118 outliers - those will be ignored in fitting/regularization step
Second step: Get residuals using fitted parameters for 16087 genes
Computing corrected count matrix for 16087 genes
Calculating gene attributes
Wall clock passed: Time difference of 8.040449 secs
Determine variable features
Regressing out percent.mt
|
| | 0%
|
|= | 0%
|
|= | 1%
|
|== | 1%
|
|== | 2%
|
|=== | 2%
|
|==== | 2%
|
|==== | 3%
|
|===== | 3%
|
|===== | 4%
|
|====== | 4%
|
|======= | 4%
|
|======= | 5%
|
|======== | 5%
|
|======== | 6%
|
|========= | 6%
|
|========== | 6%
|
|========== | 7%
|
|=========== | 7%
|
|=========== | 8%
|
|============ | 8%
|
|============= | 8%
|
|============= | 9%
|
|============== | 9%
|
|============== | 10%
|
|=============== | 10%
|
|================ | 10%
|
|================ | 11%
|
|================= | 11%
|
|================= | 12%
|
|================== | 12%
|
|=================== | 12%
|
|=================== | 13%
|
|==================== | 13%
|
|==================== | 14%
|
|===================== | 14%
|
|====================== | 14%
|
|====================== | 15%
|
|======================= | 15%
|
|======================= | 16%
|
|======================== | 16%
|
|========================= | 16%
|
|========================= | 17%
|
|========================== | 17%
|
|========================== | 18%
|
|=========================== | 18%
|
|============================ | 18%
|
|============================ | 19%
|
|============================= | 19%
|
|============================= | 20%
|
|============================== | 20%
|
|=============================== | 20%
|
|=============================== | 21%
|
|================================ | 21%
|
|================================ | 22%
|
|================================= | 22%
|
|================================== | 22%
|
|================================== | 23%
|
|=================================== | 23%
|
|=================================== | 24%
|
|==================================== | 24%
|
|===================================== | 24%
|
|===================================== | 25%
|
|====================================== | 25%
|
|====================================== | 26%
|
|======================================= | 26%
|
|======================================== | 26%
|
|======================================== | 27%
|
|========================================= | 27%
|
|========================================= | 28%
|
|========================================== | 28%
|
|=========================================== | 28%
|
|=========================================== | 29%
|
|============================================ | 29%
|
|============================================ | 30%
|
|============================================= | 30%
|
|============================================== | 30%
|
|============================================== | 31%
|
|=============================================== | 31%
|
|=============================================== | 32%
|
|================================================ | 32%
|
|================================================= | 32%
|
|================================================= | 33%
|
|================================================== | 33%
|
|================================================== | 34%
|
|=================================================== | 34%
|
|==================================================== | 34%
|
|==================================================== | 35%
|
|===================================================== | 35%
|
|===================================================== | 36%
|
|====================================================== | 36%
|
|======================================================= | 36%
|
|======================================================= | 37%
|
|======================================================== | 37%
|
|======================================================== | 38%
|
|========================================================= | 38%
|
|========================================================== | 38%
|
|========================================================== | 39%
|
|=========================================================== | 39%
|
|=========================================================== | 40%
|
|============================================================ | 40%
|
|============================================================= | 40%
|
|============================================================= | 41%
|
|============================================================== | 41%
|
|============================================================== | 42%
|
|=============================================================== | 42%
|
|================================================================ | 42%
|
|================================================================ | 43%
|
|================================================================= | 43%
|
|================================================================= | 44%
|
|================================================================== | 44%
|
|=================================================================== | 44%
|
|=================================================================== | 45%
|
|==================================================================== | 45%
|
|==================================================================== | 46%
|
|===================================================================== | 46%
|
|====================================================================== | 46%
|
|====================================================================== | 47%
|
|======================================================================= | 47%
|
|======================================================================= | 48%
|
|======================================================================== | 48%
|
|========================================================================= | 48%
|
|========================================================================= | 49%
|
|========================================================================== | 49%
|
|========================================================================== | 50%
|
|=========================================================================== | 50%
|
|============================================================================ | 50%
|
|============================================================================ | 51%
|
|============================================================================= | 51%
|
|============================================================================= | 52%
|
|============================================================================== | 52%
|
|=============================================================================== | 52%
|
|=============================================================================== | 53%
|
|================================================================================ | 53%
|
|================================================================================ | 54%
|
|================================================================================= | 54%
|
|================================================================================== | 54%
|
|================================================================================== | 55%
|
|=================================================================================== | 55%
|
|=================================================================================== | 56%
|
|==================================================================================== | 56%
|
|===================================================================================== | 56%
|
|===================================================================================== | 57%
|
|====================================================================================== | 57%
|
|====================================================================================== | 58%
|
|======================================================================================= | 58%
|
|======================================================================================== | 58%
|
|======================================================================================== | 59%
|
|========================================================================================= | 59%
|
|========================================================================================= | 60%
|
|========================================================================================== | 60%
|
|=========================================================================================== | 60%
|
|=========================================================================================== | 61%
|
|============================================================================================ | 61%
|
|============================================================================================ | 62%
|
|============================================================================================= | 62%
|
|============================================================================================== | 62%
|
|============================================================================================== | 63%
|
|=============================================================================================== | 63%
|
|=============================================================================================== | 64%
|
|================================================================================================ | 64%
|
|================================================================================================= | 64%
|
|================================================================================================= | 65%
|
|================================================================================================== | 65%
|
|================================================================================================== | 66%
|
|=================================================================================================== | 66%
|
|==================================================================================================== | 66%
|
|==================================================================================================== | 67%
|
|===================================================================================================== | 67%
|
|===================================================================================================== | 68%
|
|====================================================================================================== | 68%
|
|======================================================================================================= | 68%
|
|======================================================================================================= | 69%
|
|======================================================================================================== | 69%
|
|======================================================================================================== | 70%
|
|========================================================================================================= | 70%
|
|========================================================================================================== | 70%
|
|========================================================================================================== | 71%
|
|=========================================================================================================== | 71%
|
|=========================================================================================================== | 72%
|
|============================================================================================================ | 72%
|
|============================================================================================================= | 72%
|
|============================================================================================================= | 73%
|
|============================================================================================================== | 73%
|
|============================================================================================================== | 74%
|
|=============================================================================================================== | 74%
|
|================================================================================================================ | 74%
|
|================================================================================================================ | 75%
|
|================================================================================================================= | 75%
|
|================================================================================================================= | 76%
|
|================================================================================================================== | 76%
|
|=================================================================================================================== | 76%
|
|=================================================================================================================== | 77%
|
|==================================================================================================================== | 77%
|
|==================================================================================================================== | 78%
|
|===================================================================================================================== | 78%
|
|====================================================================================================================== | 78%
|
|====================================================================================================================== | 79%
|
|======================================================================================================================= | 79%
|
|======================================================================================================================= | 80%
|
|======================================================================================================================== | 80%
|
|========================================================================================================================= | 80%
|
|========================================================================================================================= | 81%
|
|========================================================================================================================== | 81%
|
|========================================================================================================================== | 82%
|
|=========================================================================================================================== | 82%
|
|============================================================================================================================ | 82%
|
|============================================================================================================================ | 83%
|
|============================================================================================================================= | 83%
|
|============================================================================================================================= | 84%
|
|============================================================================================================================== | 84%
|
|=============================================================================================================================== | 84%
|
|=============================================================================================================================== | 85%
|
|================================================================================================================================ | 85%
|
|================================================================================================================================ | 86%
|
|================================================================================================================================= | 86%
|
|================================================================================================================================== | 86%
|
|================================================================================================================================== | 87%
|
|=================================================================================================================================== | 87%
|
|=================================================================================================================================== | 88%
|
|==================================================================================================================================== | 88%
|
|===================================================================================================================================== | 88%
|
|===================================================================================================================================== | 89%
|
|====================================================================================================================================== | 89%
|
|====================================================================================================================================== | 90%
|
|======================================================================================================================================= | 90%
|
|======================================================================================================================================== | 90%
|
|======================================================================================================================================== | 91%
|
|========================================================================================================================================= | 91%
|
|========================================================================================================================================= | 92%
|
|========================================================================================================================================== | 92%
|
|=========================================================================================================================================== | 92%
|
|=========================================================================================================================================== | 93%
|
|============================================================================================================================================ | 93%
|
|============================================================================================================================================ | 94%
|
|============================================================================================================================================= | 94%
|
|============================================================================================================================================== | 94%
|
|============================================================================================================================================== | 95%
|
|=============================================================================================================================================== | 95%
|
|=============================================================================================================================================== | 96%
|
|================================================================================================================================================ | 96%
|
|================================================================================================================================================= | 96%
|
|================================================================================================================================================= | 97%
|
|================================================================================================================================================== | 97%
|
|================================================================================================================================================== | 98%
|
|=================================================================================================================================================== | 98%
|
|==================================================================================================================================================== | 98%
|
|==================================================================================================================================================== | 99%
|
|===================================================================================================================================================== | 99%
|
|===================================================================================================================================================== | 100%
|
|======================================================================================================================================================| 100%
Centering data matrix
|
| | 0%
|
|====================================== | 25%
|
|=========================================================================== | 50%
|
|================================================================================================================ | 75%
|
|======================================================================================================================================================| 100%
Place corrected count matrix in counts slot
vst.flavor='v2' set. Using model with fixed slope and excluding poisson genes.
Calculating cell attributes from input UMI matrix: log_umi
Variance stabilizing transformation of count matrix of size 15809 by 1929
Model formula is y ~ log_umi
Get Negative Binomial regression parameters per gene
Using 2000 genes, 1929 cells
Found 110 outliers - those will be ignored in fitting/regularization step
Second step: Get residuals using fitted parameters for 15809 genes
Computing corrected count matrix for 15809 genes
Calculating gene attributes
Wall clock passed: Time difference of 5.672746 secs
Determine variable features
Regressing out percent.mt
|
| | 0%
|
|= | 0%
|
|= | 1%
|
|== | 1%
|
|== | 2%
|
|=== | 2%
|
|==== | 2%
|
|==== | 3%
|
|===== | 3%
|
|===== | 4%
|
|====== | 4%
|
|======= | 4%
|
|======= | 5%
|
|======== | 5%
|
|======== | 6%
|
|========= | 6%
|
|========== | 6%
|
|========== | 7%
|
|=========== | 7%
|
|=========== | 8%
|
|============ | 8%
|
|============= | 8%
|
|============= | 9%
|
|============== | 9%
|
|============== | 10%
|
|=============== | 10%
|
|================ | 10%
|
|================ | 11%
|
|================= | 11%
|
|================= | 12%
|
|================== | 12%
|
|=================== | 12%
|
|=================== | 13%
|
|==================== | 13%
|
|==================== | 14%
|
|===================== | 14%
|
|====================== | 14%
|
|====================== | 15%
|
|======================= | 15%
|
|======================= | 16%
|
|======================== | 16%
|
|========================= | 16%
|
|========================= | 17%
|
|========================== | 17%
|
|========================== | 18%
|
|=========================== | 18%
|
|============================ | 18%
|
|============================ | 19%
|
|============================= | 19%
|
|============================= | 20%
|
|============================== | 20%
|
|=============================== | 20%
|
|=============================== | 21%
|
|================================ | 21%
|
|================================ | 22%
|
|================================= | 22%
|
|================================== | 22%
|
|================================== | 23%
|
|=================================== | 23%
|
|=================================== | 24%
|
|==================================== | 24%
|
|===================================== | 24%
|
|===================================== | 25%
|
|====================================== | 25%
|
|====================================== | 26%
|
|======================================= | 26%
|
|======================================== | 26%
|
|======================================== | 27%
|
|========================================= | 27%
|
|========================================= | 28%
|
|========================================== | 28%
|
|=========================================== | 28%
|
|=========================================== | 29%
|
|============================================ | 29%
|
|============================================ | 30%
|
|============================================= | 30%
|
|============================================== | 30%
|
|============================================== | 31%
|
|=============================================== | 31%
|
|=============================================== | 32%
|
|================================================ | 32%
|
|================================================= | 32%
|
|================================================= | 33%
|
|================================================== | 33%
|
|================================================== | 34%
|
|=================================================== | 34%
|
|==================================================== | 34%
|
|==================================================== | 35%
|
|===================================================== | 35%
|
|===================================================== | 36%
|
|====================================================== | 36%
|
|======================================================= | 36%
|
|======================================================= | 37%
|
|======================================================== | 37%
|
|======================================================== | 38%
|
|========================================================= | 38%
|
|========================================================== | 38%
|
|========================================================== | 39%
|
|=========================================================== | 39%
|
|=========================================================== | 40%
|
|============================================================ | 40%
|
|============================================================= | 40%
|
|============================================================= | 41%
|
|============================================================== | 41%
|
|============================================================== | 42%
|
|=============================================================== | 42%
|
|================================================================ | 42%
|
|================================================================ | 43%
|
|================================================================= | 43%
|
|================================================================= | 44%
|
|================================================================== | 44%
|
|=================================================================== | 44%
|
|=================================================================== | 45%
|
|==================================================================== | 45%
|
|==================================================================== | 46%
|
|===================================================================== | 46%
|
|====================================================================== | 46%
|
|====================================================================== | 47%
|
|======================================================================= | 47%
|
|======================================================================= | 48%
|
|======================================================================== | 48%
|
|========================================================================= | 48%
|
|========================================================================= | 49%
|
|========================================================================== | 49%
|
|========================================================================== | 50%
|
|=========================================================================== | 50%
|
|============================================================================ | 50%
|
|============================================================================ | 51%
|
|============================================================================= | 51%
|
|============================================================================= | 52%
|
|============================================================================== | 52%
|
|=============================================================================== | 52%
|
|=============================================================================== | 53%
|
|================================================================================ | 53%
|
|================================================================================ | 54%
|
|================================================================================= | 54%
|
|================================================================================== | 54%
|
|================================================================================== | 55%
|
|=================================================================================== | 55%
|
|=================================================================================== | 56%
|
|==================================================================================== | 56%
|
|===================================================================================== | 56%
|
|===================================================================================== | 57%
|
|====================================================================================== | 57%
|
|====================================================================================== | 58%
|
|======================================================================================= | 58%
|
|======================================================================================== | 58%
|
|======================================================================================== | 59%
|
|========================================================================================= | 59%
|
|========================================================================================= | 60%
|
|========================================================================================== | 60%
|
|=========================================================================================== | 60%
|
|=========================================================================================== | 61%
|
|============================================================================================ | 61%
|
|============================================================================================ | 62%
|
|============================================================================================= | 62%
|
|============================================================================================== | 62%
|
|============================================================================================== | 63%
|
|=============================================================================================== | 63%
|
|=============================================================================================== | 64%
|
|================================================================================================ | 64%
|
|================================================================================================= | 64%
|
|================================================================================================= | 65%
|
|================================================================================================== | 65%
|
|================================================================================================== | 66%
|
|=================================================================================================== | 66%
|
|==================================================================================================== | 66%
|
|==================================================================================================== | 67%
|
|===================================================================================================== | 67%
|
|===================================================================================================== | 68%
|
|====================================================================================================== | 68%
|
|======================================================================================================= | 68%
|
|======================================================================================================= | 69%
|
|======================================================================================================== | 69%
|
|======================================================================================================== | 70%
|
|========================================================================================================= | 70%
|
|========================================================================================================== | 70%
|
|========================================================================================================== | 71%
|
|=========================================================================================================== | 71%
|
|=========================================================================================================== | 72%
|
|============================================================================================================ | 72%
|
|============================================================================================================= | 72%
|
|============================================================================================================= | 73%
|
|============================================================================================================== | 73%
|
|============================================================================================================== | 74%
|
|=============================================================================================================== | 74%
|
|================================================================================================================ | 74%
|
|================================================================================================================ | 75%
|
|================================================================================================================= | 75%
|
|================================================================================================================= | 76%
|
|================================================================================================================== | 76%
|
|=================================================================================================================== | 76%
|
|=================================================================================================================== | 77%
|
|==================================================================================================================== | 77%
|
|==================================================================================================================== | 78%
|
|===================================================================================================================== | 78%
|
|====================================================================================================================== | 78%
|
|====================================================================================================================== | 79%
|
|======================================================================================================================= | 79%
|
|======================================================================================================================= | 80%
|
|======================================================================================================================== | 80%
|
|========================================================================================================================= | 80%
|
|========================================================================================================================= | 81%
|
|========================================================================================================================== | 81%
|
|========================================================================================================================== | 82%
|
|=========================================================================================================================== | 82%
|
|============================================================================================================================ | 82%
|
|============================================================================================================================ | 83%
|
|============================================================================================================================= | 83%
|
|============================================================================================================================= | 84%
|
|============================================================================================================================== | 84%
|
|=============================================================================================================================== | 84%
|
|=============================================================================================================================== | 85%
|
|================================================================================================================================ | 85%
|
|================================================================================================================================ | 86%
|
|================================================================================================================================= | 86%
|
|================================================================================================================================== | 86%
|
|================================================================================================================================== | 87%
|
|=================================================================================================================================== | 87%
|
|=================================================================================================================================== | 88%
|
|==================================================================================================================================== | 88%
|
|===================================================================================================================================== | 88%
|
|===================================================================================================================================== | 89%
|
|====================================================================================================================================== | 89%
|
|====================================================================================================================================== | 90%
|
|======================================================================================================================================= | 90%
|
|======================================================================================================================================== | 90%
|
|======================================================================================================================================== | 91%
|
|========================================================================================================================================= | 91%
|
|========================================================================================================================================= | 92%
|
|========================================================================================================================================== | 92%
|
|=========================================================================================================================================== | 92%
|
|=========================================================================================================================================== | 93%
|
|============================================================================================================================================ | 93%
|
|============================================================================================================================================ | 94%
|
|============================================================================================================================================= | 94%
|
|============================================================================================================================================== | 94%
|
|============================================================================================================================================== | 95%
|
|=============================================================================================================================================== | 95%
|
|=============================================================================================================================================== | 96%
|
|================================================================================================================================================ | 96%
|
|================================================================================================================================================= | 96%
|
|================================================================================================================================================= | 97%
|
|================================================================================================================================================== | 97%
|
|================================================================================================================================================== | 98%
|
|=================================================================================================================================================== | 98%
|
|==================================================================================================================================================== | 98%
|
|==================================================================================================================================================== | 99%
|
|===================================================================================================================================================== | 99%
|
|===================================================================================================================================================== | 100%
|
|======================================================================================================================================================| 100%
Centering data matrix
|
| | 0%
|
|====================================== | 25%
|
|=========================================================================== | 50%
|
|================================================================================================================ | 75%
|
|======================================================================================================================================================| 100%
Place corrected count matrix in counts slot
vst.flavor='v2' set. Using model with fixed slope and excluding poisson genes.
Calculating cell attributes from input UMI matrix: log_umi
Variance stabilizing transformation of count matrix of size 15809 by 1641
Model formula is y ~ log_umi
Get Negative Binomial regression parameters per gene
Using 2000 genes, 1641 cells
Found 101 outliers - those will be ignored in fitting/regularization step
Second step: Get residuals using fitted parameters for 15809 genes
Computing corrected count matrix for 15809 genes
Calculating gene attributes
Wall clock passed: Time difference of 4.503391 secs
Determine variable features
Regressing out percent.mt
|
| | 0%
|
|= | 0%
|
|= | 1%
|
|== | 1%
|
|== | 2%
|
|=== | 2%
|
|==== | 2%
|
|==== | 3%
|
|===== | 3%
|
|===== | 4%
|
|====== | 4%
|
|======= | 4%
|
|======= | 5%
|
|======== | 5%
|
|======== | 6%
|
|========= | 6%
|
|========== | 6%
|
|========== | 7%
|
|=========== | 7%
|
|=========== | 8%
|
|============ | 8%
|
|============= | 8%
|
|============= | 9%
|
|============== | 9%
|
|============== | 10%
|
|=============== | 10%
|
|================ | 10%
|
|================ | 11%
|
|================= | 11%
|
|================= | 12%
|
|================== | 12%
|
|=================== | 12%
|
|=================== | 13%
|
|==================== | 13%
|
|==================== | 14%
|
|===================== | 14%
|
|====================== | 14%
|
|====================== | 15%
|
|======================= | 15%
|
|======================= | 16%
|
|======================== | 16%
|
|========================= | 16%
|
|========================= | 17%
|
|========================== | 17%
|
|========================== | 18%
|
|=========================== | 18%
|
|============================ | 18%
|
|============================ | 19%
|
|============================= | 19%
|
|============================= | 20%
|
|============================== | 20%
|
|=============================== | 20%
|
|=============================== | 21%
|
|================================ | 21%
|
|================================ | 22%
|
|================================= | 22%
|
|================================== | 22%
|
|================================== | 23%
|
|=================================== | 23%
|
|=================================== | 24%
|
|==================================== | 24%
|
|===================================== | 24%
|
|===================================== | 25%
|
|====================================== | 25%
|
|====================================== | 26%
|
|======================================= | 26%
|
|======================================== | 26%
|
|======================================== | 27%
|
|========================================= | 27%
|
|========================================= | 28%
|
|========================================== | 28%
|
|=========================================== | 28%
|
|=========================================== | 29%
|
|============================================ | 29%
|
|============================================ | 30%
|
|============================================= | 30%
|
|============================================== | 30%
|
|============================================== | 31%
|
|=============================================== | 31%
|
|=============================================== | 32%
|
|================================================ | 32%
|
|================================================= | 32%
|
|================================================= | 33%
|
|================================================== | 33%
|
|================================================== | 34%
|
|=================================================== | 34%
|
|==================================================== | 34%
|
|==================================================== | 35%
|
|===================================================== | 35%
|
|===================================================== | 36%
|
|====================================================== | 36%
|
|======================================================= | 36%
|
|======================================================= | 37%
|
|======================================================== | 37%
|
|======================================================== | 38%
|
|========================================================= | 38%
|
|========================================================== | 38%
|
|========================================================== | 39%
|
|=========================================================== | 39%
|
|=========================================================== | 40%
|
|============================================================ | 40%
|
|============================================================= | 40%
|
|============================================================= | 41%
|
|============================================================== | 41%
|
|============================================================== | 42%
|
|=============================================================== | 42%
|
|================================================================ | 42%
|
|================================================================ | 43%
|
|================================================================= | 43%
|
|================================================================= | 44%
|
|================================================================== | 44%
|
|=================================================================== | 44%
|
|=================================================================== | 45%
|
|==================================================================== | 45%
|
|==================================================================== | 46%
|
|===================================================================== | 46%
|
|====================================================================== | 46%
|
|====================================================================== | 47%
|
|======================================================================= | 47%
|
|======================================================================= | 48%
|
|======================================================================== | 48%
|
|========================================================================= | 48%
|
|========================================================================= | 49%
|
|========================================================================== | 49%
|
|========================================================================== | 50%
|
|=========================================================================== | 50%
|
|============================================================================ | 50%
|
|============================================================================ | 51%
|
|============================================================================= | 51%
|
|============================================================================= | 52%
|
|============================================================================== | 52%
|
|=============================================================================== | 52%
|
|=============================================================================== | 53%
|
|================================================================================ | 53%
|
|================================================================================ | 54%
|
|================================================================================= | 54%
|
|================================================================================== | 54%
|
|================================================================================== | 55%
|
|=================================================================================== | 55%
|
|=================================================================================== | 56%
|
|==================================================================================== | 56%
|
|===================================================================================== | 56%
|
|===================================================================================== | 57%
|
|====================================================================================== | 57%
|
|====================================================================================== | 58%
|
|======================================================================================= | 58%
|
|======================================================================================== | 58%
|
|======================================================================================== | 59%
|
|========================================================================================= | 59%
|
|========================================================================================= | 60%
|
|========================================================================================== | 60%
|
|=========================================================================================== | 60%
|
|=========================================================================================== | 61%
|
|============================================================================================ | 61%
|
|============================================================================================ | 62%
|
|============================================================================================= | 62%
|
|============================================================================================== | 62%
|
|============================================================================================== | 63%
|
|=============================================================================================== | 63%
|
|=============================================================================================== | 64%
|
|================================================================================================ | 64%
|
|================================================================================================= | 64%
|
|================================================================================================= | 65%
|
|================================================================================================== | 65%
|
|================================================================================================== | 66%
|
|=================================================================================================== | 66%
|
|==================================================================================================== | 66%
|
|==================================================================================================== | 67%
|
|===================================================================================================== | 67%
|
|===================================================================================================== | 68%
|
|====================================================================================================== | 68%
|
|======================================================================================================= | 68%
|
|======================================================================================================= | 69%
|
|======================================================================================================== | 69%
|
|======================================================================================================== | 70%
|
|========================================================================================================= | 70%
|
|========================================================================================================== | 70%
|
|========================================================================================================== | 71%
|
|=========================================================================================================== | 71%
|
|=========================================================================================================== | 72%
|
|============================================================================================================ | 72%
|
|============================================================================================================= | 72%
|
|============================================================================================================= | 73%
|
|============================================================================================================== | 73%
|
|============================================================================================================== | 74%
|
|=============================================================================================================== | 74%
|
|================================================================================================================ | 74%
|
|================================================================================================================ | 75%
|
|================================================================================================================= | 75%
|
|================================================================================================================= | 76%
|
|================================================================================================================== | 76%
|
|=================================================================================================================== | 76%
|
|=================================================================================================================== | 77%
|
|==================================================================================================================== | 77%
|
|==================================================================================================================== | 78%
|
|===================================================================================================================== | 78%
|
|====================================================================================================================== | 78%
|
|====================================================================================================================== | 79%
|
|======================================================================================================================= | 79%
|
|======================================================================================================================= | 80%
|
|======================================================================================================================== | 80%
|
|========================================================================================================================= | 80%
|
|========================================================================================================================= | 81%
|
|========================================================================================================================== | 81%
|
|========================================================================================================================== | 82%
|
|=========================================================================================================================== | 82%
|
|============================================================================================================================ | 82%
|
|============================================================================================================================ | 83%
|
|============================================================================================================================= | 83%
|
|============================================================================================================================= | 84%
|
|============================================================================================================================== | 84%
|
|=============================================================================================================================== | 84%
|
|=============================================================================================================================== | 85%
|
|================================================================================================================================ | 85%
|
|================================================================================================================================ | 86%
|
|================================================================================================================================= | 86%
|
|================================================================================================================================== | 86%
|
|================================================================================================================================== | 87%
|
|=================================================================================================================================== | 87%
|
|=================================================================================================================================== | 88%
|
|==================================================================================================================================== | 88%
|
|===================================================================================================================================== | 88%
|
|===================================================================================================================================== | 89%
|
|====================================================================================================================================== | 89%
|
|====================================================================================================================================== | 90%
|
|======================================================================================================================================= | 90%
|
|======================================================================================================================================== | 90%
|
|======================================================================================================================================== | 91%
|
|========================================================================================================================================= | 91%
|
|========================================================================================================================================= | 92%
|
|========================================================================================================================================== | 92%
|
|=========================================================================================================================================== | 92%
|
|=========================================================================================================================================== | 93%
|
|============================================================================================================================================ | 93%
|
|============================================================================================================================================ | 94%
|
|============================================================================================================================================= | 94%
|
|============================================================================================================================================== | 94%
|
|============================================================================================================================================== | 95%
|
|=============================================================================================================================================== | 95%
|
|=============================================================================================================================================== | 96%
|
|================================================================================================================================================ | 96%
|
|================================================================================================================================================= | 96%
|
|================================================================================================================================================= | 97%
|
|================================================================================================================================================== | 97%
|
|================================================================================================================================================== | 98%
|
|=================================================================================================================================================== | 98%
|
|==================================================================================================================================================== | 98%
|
|==================================================================================================================================================== | 99%
|
|===================================================================================================================================================== | 99%
|
|===================================================================================================================================================== | 100%
|
|======================================================================================================================================================| 100%
Centering data matrix
|
| | 0%
|
|====================================== | 25%
|
|=========================================================================== | 50%
|
|================================================================================================================ | 75%
|
|======================================================================================================================================================| 100%
Place corrected count matrix in counts slot
vst.flavor='v2' set. Using model with fixed slope and excluding poisson genes.
Calculating cell attributes from input UMI matrix: log_umi
Variance stabilizing transformation of count matrix of size 15828 by 1771
Model formula is y ~ log_umi
Get Negative Binomial regression parameters per gene
Using 2000 genes, 1771 cells
Found 136 outliers - those will be ignored in fitting/regularization step
Second step: Get residuals using fitted parameters for 15828 genes
Computing corrected count matrix for 15828 genes
Calculating gene attributes
Wall clock passed: Time difference of 4.707302 secs
Determine variable features
Regressing out percent.mt
|
| | 0%
|
|= | 0%
|
|= | 1%
|
|== | 1%
|
|== | 2%
|
|=== | 2%
|
|==== | 2%
|
|==== | 3%
|
|===== | 3%
|
|===== | 4%
|
|====== | 4%
|
|======= | 4%
|
|======= | 5%
|
|======== | 5%
|
|======== | 6%
|
|========= | 6%
|
|========== | 6%
|
|========== | 7%
|
|=========== | 7%
|
|=========== | 8%
|
|============ | 8%
|
|============= | 8%
|
|============= | 9%
|
|============== | 9%
|
|============== | 10%
|
|=============== | 10%
|
|================ | 10%
|
|================ | 11%
|
|================= | 11%
|
|================= | 12%
|
|================== | 12%
|
|=================== | 12%
|
|=================== | 13%
|
|==================== | 13%
|
|==================== | 14%
|
|===================== | 14%
|
|====================== | 14%
|
|====================== | 15%
|
|======================= | 15%
|
|======================= | 16%
|
|======================== | 16%
|
|========================= | 16%
|
|========================= | 17%
|
|========================== | 17%
|
|========================== | 18%
|
|=========================== | 18%
|
|============================ | 18%
|
|============================ | 19%
|
|============================= | 19%
|
|============================= | 20%
|
|============================== | 20%
|
|=============================== | 20%
|
|=============================== | 21%
|
|================================ | 21%
|
|================================ | 22%
|
|================================= | 22%
|
|================================== | 22%
|
|================================== | 23%
|
|=================================== | 23%
|
|=================================== | 24%
|
|==================================== | 24%
|
|===================================== | 24%
|
|===================================== | 25%
|
|====================================== | 25%
|
|====================================== | 26%
|
|======================================= | 26%
|
|======================================== | 26%
|
|======================================== | 27%
|
|========================================= | 27%
|
|========================================= | 28%
|
|========================================== | 28%
|
|=========================================== | 28%
|
|=========================================== | 29%
|
|============================================ | 29%
|
|============================================ | 30%
|
|============================================= | 30%
|
|============================================== | 30%
|
|============================================== | 31%
|
|=============================================== | 31%
|
|=============================================== | 32%
|
|================================================ | 32%
|
|================================================= | 32%
|
|================================================= | 33%
|
|================================================== | 33%
|
|================================================== | 34%
|
|=================================================== | 34%
|
|==================================================== | 34%
|
|==================================================== | 35%
|
|===================================================== | 35%
|
|===================================================== | 36%
|
|====================================================== | 36%
|
|======================================================= | 36%
|
|======================================================= | 37%
|
|======================================================== | 37%
|
|======================================================== | 38%
|
|========================================================= | 38%
|
|========================================================== | 38%
|
|========================================================== | 39%
|
|=========================================================== | 39%
|
|=========================================================== | 40%
|
|============================================================ | 40%
|
|============================================================= | 40%
|
|============================================================= | 41%
|
|============================================================== | 41%
|
|============================================================== | 42%
|
|=============================================================== | 42%
|
|================================================================ | 42%
|
|================================================================ | 43%
|
|================================================================= | 43%
|
|================================================================= | 44%
|
|================================================================== | 44%
|
|=================================================================== | 44%
|
|=================================================================== | 45%
|
|==================================================================== | 45%
|
|==================================================================== | 46%
|
|===================================================================== | 46%
|
|====================================================================== | 46%
|
|====================================================================== | 47%
|
|======================================================================= | 47%
|
|======================================================================= | 48%
|
|======================================================================== | 48%
|
|========================================================================= | 48%
|
|========================================================================= | 49%
|
|========================================================================== | 49%
|
|========================================================================== | 50%
|
|=========================================================================== | 50%
|
|============================================================================ | 50%
|
|============================================================================ | 51%
|
|============================================================================= | 51%
|
|============================================================================= | 52%
|
|============================================================================== | 52%
|
|=============================================================================== | 52%
|
|=============================================================================== | 53%
|
|================================================================================ | 53%
|
|================================================================================ | 54%
|
|================================================================================= | 54%
|
|================================================================================== | 54%
|
|================================================================================== | 55%
|
|=================================================================================== | 55%
|
|=================================================================================== | 56%
|
|==================================================================================== | 56%
|
|===================================================================================== | 56%
|
|===================================================================================== | 57%
|
|====================================================================================== | 57%
|
|====================================================================================== | 58%
|
|======================================================================================= | 58%
|
|======================================================================================== | 58%
|
|======================================================================================== | 59%
|
|========================================================================================= | 59%
|
|========================================================================================= | 60%
|
|========================================================================================== | 60%
|
|=========================================================================================== | 60%
|
|=========================================================================================== | 61%
|
|============================================================================================ | 61%
|
|============================================================================================ | 62%
|
|============================================================================================= | 62%
|
|============================================================================================== | 62%
|
|============================================================================================== | 63%
|
|=============================================================================================== | 63%
|
|=============================================================================================== | 64%
|
|================================================================================================ | 64%
|
|================================================================================================= | 64%
|
|================================================================================================= | 65%
|
|================================================================================================== | 65%
|
|================================================================================================== | 66%
|
|=================================================================================================== | 66%
|
|==================================================================================================== | 66%
|
|==================================================================================================== | 67%
|
|===================================================================================================== | 67%
|
|===================================================================================================== | 68%
|
|====================================================================================================== | 68%
|
|======================================================================================================= | 68%
|
|======================================================================================================= | 69%
|
|======================================================================================================== | 69%
|
|======================================================================================================== | 70%
|
|========================================================================================================= | 70%
|
|========================================================================================================== | 70%
|
|========================================================================================================== | 71%
|
|=========================================================================================================== | 71%
|
|=========================================================================================================== | 72%
|
|============================================================================================================ | 72%
|
|============================================================================================================= | 72%
|
|============================================================================================================= | 73%
|
|============================================================================================================== | 73%
|
|============================================================================================================== | 74%
|
|=============================================================================================================== | 74%
|
|================================================================================================================ | 74%
|
|================================================================================================================ | 75%
|
|================================================================================================================= | 75%
|
|================================================================================================================= | 76%
|
|================================================================================================================== | 76%
|
|=================================================================================================================== | 76%
|
|=================================================================================================================== | 77%
|
|==================================================================================================================== | 77%
|
|==================================================================================================================== | 78%
|
|===================================================================================================================== | 78%
|
|====================================================================================================================== | 78%
|
|====================================================================================================================== | 79%
|
|======================================================================================================================= | 79%
|
|======================================================================================================================= | 80%
|
|======================================================================================================================== | 80%
|
|========================================================================================================================= | 80%
|
|========================================================================================================================= | 81%
|
|========================================================================================================================== | 81%
|
|========================================================================================================================== | 82%
|
|=========================================================================================================================== | 82%
|
|============================================================================================================================ | 82%
|
|============================================================================================================================ | 83%
|
|============================================================================================================================= | 83%
|
|============================================================================================================================= | 84%
|
|============================================================================================================================== | 84%
|
|=============================================================================================================================== | 84%
|
|=============================================================================================================================== | 85%
|
|================================================================================================================================ | 85%
|
|================================================================================================================================ | 86%
|
|================================================================================================================================= | 86%
|
|================================================================================================================================== | 86%
|
|================================================================================================================================== | 87%
|
|=================================================================================================================================== | 87%
|
|=================================================================================================================================== | 88%
|
|==================================================================================================================================== | 88%
|
|===================================================================================================================================== | 88%
|
|===================================================================================================================================== | 89%
|
|====================================================================================================================================== | 89%
|
|====================================================================================================================================== | 90%
|
|======================================================================================================================================= | 90%
|
|======================================================================================================================================== | 90%
|
|======================================================================================================================================== | 91%
|
|========================================================================================================================================= | 91%
|
|========================================================================================================================================= | 92%
|
|========================================================================================================================================== | 92%
|
|=========================================================================================================================================== | 92%
|
|=========================================================================================================================================== | 93%
|
|============================================================================================================================================ | 93%
|
|============================================================================================================================================ | 94%
|
|============================================================================================================================================= | 94%
|
|============================================================================================================================================== | 94%
|
|============================================================================================================================================== | 95%
|
|=============================================================================================================================================== | 95%
|
|=============================================================================================================================================== | 96%
|
|================================================================================================================================================ | 96%
|
|================================================================================================================================================= | 96%
|
|================================================================================================================================================= | 97%
|
|================================================================================================================================================== | 97%
|
|================================================================================================================================================== | 98%
|
|=================================================================================================================================================== | 98%
|
|==================================================================================================================================================== | 98%
|
|==================================================================================================================================================== | 99%
|
|===================================================================================================================================================== | 99%
|
|===================================================================================================================================================== | 100%
|
|======================================================================================================================================================| 100%
Centering data matrix
|
| | 0%
|
|====================================== | 25%
|
|=========================================================================== | 50%
|
|================================================================================================================ | 75%
|
|======================================================================================================================================================| 100%
Place corrected count matrix in counts slot
vst.flavor='v2' set. Using model with fixed slope and excluding poisson genes.
Calculating cell attributes from input UMI matrix: log_umi
Variance stabilizing transformation of count matrix of size 11907 by 3551
Model formula is y ~ log_umi
Get Negative Binomial regression parameters per gene
Using 2000 genes, 3551 cells
Found 41 outliers - those will be ignored in fitting/regularization step
Second step: Get residuals using fitted parameters for 11907 genes
Computing corrected count matrix for 11907 genes
Calculating gene attributes
Wall clock passed: Time difference of 7.754789 secs
Determine variable features
Regressing out percent.mt
|
| | 0%
|
|= | 0%
|
|= | 1%
|
|== | 1%
|
|== | 2%
|
|=== | 2%
|
|==== | 2%
|
|==== | 3%
|
|===== | 3%
|
|===== | 4%
|
|====== | 4%
|
|======= | 4%
|
|======= | 5%
|
|======== | 5%
|
|======== | 6%
|
|========= | 6%
|
|========== | 6%
|
|========== | 7%
|
|=========== | 7%
|
|=========== | 8%
|
|============ | 8%
|
|============= | 8%
|
|============= | 9%
|
|============== | 9%
|
|============== | 10%
|
|=============== | 10%
|
|================ | 10%
|
|================ | 11%
|
|================= | 11%
|
|================= | 12%
|
|================== | 12%
|
|=================== | 12%
|
|=================== | 13%
|
|==================== | 13%
|
|==================== | 14%
|
|===================== | 14%
|
|====================== | 14%
|
|====================== | 15%
|
|======================= | 15%
|
|======================= | 16%
|
|======================== | 16%
|
|========================= | 16%
|
|========================= | 17%
|
|========================== | 17%
|
|========================== | 18%
|
|=========================== | 18%
|
|============================ | 18%
|
|============================ | 19%
|
|============================= | 19%
|
|============================= | 20%
|
|============================== | 20%
|
|=============================== | 20%
|
|=============================== | 21%
|
|================================ | 21%
|
|================================ | 22%
|
|================================= | 22%
|
|================================== | 22%
|
|================================== | 23%
|
|=================================== | 23%
|
|=================================== | 24%
|
|==================================== | 24%
|
|===================================== | 24%
|
|===================================== | 25%
|
|====================================== | 25%
|
|====================================== | 26%
|
|======================================= | 26%
|
|======================================== | 26%
|
|======================================== | 27%
|
|========================================= | 27%
|
|========================================= | 28%
|
|========================================== | 28%
|
|=========================================== | 28%
|
|=========================================== | 29%
|
|============================================ | 29%
|
|============================================ | 30%
|
|============================================= | 30%
|
|============================================== | 30%
|
|============================================== | 31%
|
|=============================================== | 31%
|
|=============================================== | 32%
|
|================================================ | 32%
|
|================================================= | 32%
|
|================================================= | 33%
|
|================================================== | 33%
|
|================================================== | 34%
|
|=================================================== | 34%
|
|==================================================== | 34%
|
|==================================================== | 35%
|
|===================================================== | 35%
|
|===================================================== | 36%
|
|====================================================== | 36%
|
|======================================================= | 36%
|
|======================================================= | 37%
|
|======================================================== | 37%
|
|======================================================== | 38%
|
|========================================================= | 38%
|
|========================================================== | 38%
|
|========================================================== | 39%
|
|=========================================================== | 39%
|
|=========================================================== | 40%
|
|============================================================ | 40%
|
|============================================================= | 40%
|
|============================================================= | 41%
|
|============================================================== | 41%
|
|============================================================== | 42%
|
|=============================================================== | 42%
|
|================================================================ | 42%
|
|================================================================ | 43%
|
|================================================================= | 43%
|
|================================================================= | 44%
|
|================================================================== | 44%
|
|=================================================================== | 44%
|
|=================================================================== | 45%
|
|==================================================================== | 45%
|
|==================================================================== | 46%
|
|===================================================================== | 46%
|
|====================================================================== | 46%
|
|====================================================================== | 47%
|
|======================================================================= | 47%
|
|======================================================================= | 48%
|
|======================================================================== | 48%
|
|========================================================================= | 48%
|
|========================================================================= | 49%
|
|========================================================================== | 49%
|
|========================================================================== | 50%
|
|=========================================================================== | 50%
|
|============================================================================ | 50%
|
|============================================================================ | 51%
|
|============================================================================= | 51%
|
|============================================================================= | 52%
|
|============================================================================== | 52%
|
|=============================================================================== | 52%
|
|=============================================================================== | 53%
|
|================================================================================ | 53%
|
|================================================================================ | 54%
|
|================================================================================= | 54%
|
|================================================================================== | 54%
|
|================================================================================== | 55%
|
|=================================================================================== | 55%
|
|=================================================================================== | 56%
|
|==================================================================================== | 56%
|
|===================================================================================== | 56%
|
|===================================================================================== | 57%
|
|====================================================================================== | 57%
|
|====================================================================================== | 58%
|
|======================================================================================= | 58%
|
|======================================================================================== | 58%
|
|======================================================================================== | 59%
|
|========================================================================================= | 59%
|
|========================================================================================= | 60%
|
|========================================================================================== | 60%
|
|=========================================================================================== | 60%
|
|=========================================================================================== | 61%
|
|============================================================================================ | 61%
|
|============================================================================================ | 62%
|
|============================================================================================= | 62%
|
|============================================================================================== | 62%
|
|============================================================================================== | 63%
|
|=============================================================================================== | 63%
|
|=============================================================================================== | 64%
|
|================================================================================================ | 64%
|
|================================================================================================= | 64%
|
|================================================================================================= | 65%
|
|================================================================================================== | 65%
|
|================================================================================================== | 66%
|
|=================================================================================================== | 66%
|
|==================================================================================================== | 66%
|
|==================================================================================================== | 67%
|
|===================================================================================================== | 67%
|
|===================================================================================================== | 68%
|
|====================================================================================================== | 68%
|
|======================================================================================================= | 68%
|
|======================================================================================================= | 69%
|
|======================================================================================================== | 69%
|
|======================================================================================================== | 70%
|
|========================================================================================================= | 70%
|
|========================================================================================================== | 70%
|
|========================================================================================================== | 71%
|
|=========================================================================================================== | 71%
|
|=========================================================================================================== | 72%
|
|============================================================================================================ | 72%
|
|============================================================================================================= | 72%
|
|============================================================================================================= | 73%
|
|============================================================================================================== | 73%
|
|============================================================================================================== | 74%
|
|=============================================================================================================== | 74%
|
|================================================================================================================ | 74%
|
|================================================================================================================ | 75%
|
|================================================================================================================= | 75%
|
|================================================================================================================= | 76%
|
|================================================================================================================== | 76%
|
|=================================================================================================================== | 76%
|
|=================================================================================================================== | 77%
|
|==================================================================================================================== | 77%
|
|==================================================================================================================== | 78%
|
|===================================================================================================================== | 78%
|
|====================================================================================================================== | 78%
|
|====================================================================================================================== | 79%
|
|======================================================================================================================= | 79%
|
|======================================================================================================================= | 80%
|
|======================================================================================================================== | 80%
|
|========================================================================================================================= | 80%
|
|========================================================================================================================= | 81%
|
|========================================================================================================================== | 81%
|
|========================================================================================================================== | 82%
|
|=========================================================================================================================== | 82%
|
|============================================================================================================================ | 82%
|
|============================================================================================================================ | 83%
|
|============================================================================================================================= | 83%
|
|============================================================================================================================= | 84%
|
|============================================================================================================================== | 84%
|
|=============================================================================================================================== | 84%
|
|=============================================================================================================================== | 85%
|
|================================================================================================================================ | 85%
|
|================================================================================================================================ | 86%
|
|================================================================================================================================= | 86%
|
|================================================================================================================================== | 86%
|
|================================================================================================================================== | 87%
|
|=================================================================================================================================== | 87%
|
|=================================================================================================================================== | 88%
|
|==================================================================================================================================== | 88%
|
|===================================================================================================================================== | 88%
|
|===================================================================================================================================== | 89%
|
|====================================================================================================================================== | 89%
|
|====================================================================================================================================== | 90%
|
|======================================================================================================================================= | 90%
|
|======================================================================================================================================== | 90%
|
|======================================================================================================================================== | 91%
|
|========================================================================================================================================= | 91%
|
|========================================================================================================================================= | 92%
|
|========================================================================================================================================== | 92%
|
|=========================================================================================================================================== | 92%
|
|=========================================================================================================================================== | 93%
|
|============================================================================================================================================ | 93%
|
|============================================================================================================================================ | 94%
|
|============================================================================================================================================= | 94%
|
|============================================================================================================================================== | 94%
|
|============================================================================================================================================== | 95%
|
|=============================================================================================================================================== | 95%
|
|=============================================================================================================================================== | 96%
|
|================================================================================================================================================ | 96%
|
|================================================================================================================================================= | 96%
|
|================================================================================================================================================= | 97%
|
|================================================================================================================================================== | 97%
|
|================================================================================================================================================== | 98%
|
|=================================================================================================================================================== | 98%
|
|==================================================================================================================================================== | 98%
|
|==================================================================================================================================================== | 99%
|
|===================================================================================================================================================== | 99%
|
|===================================================================================================================================================== | 100%
|
|======================================================================================================================================================| 100%
Centering data matrix
|
| | 0%
|
|====================================== | 25%
|
|=========================================================================== | 50%
|
|================================================================================================================ | 75%
|
|======================================================================================================================================================| 100%
Place corrected count matrix in counts slot
vst.flavor='v2' set. Using model with fixed slope and excluding poisson genes.
Calculating cell attributes from input UMI matrix: log_umi
Variance stabilizing transformation of count matrix of size 12066 by 2709
Model formula is y ~ log_umi
Get Negative Binomial regression parameters per gene
Using 2000 genes, 2709 cells
Found 68 outliers - those will be ignored in fitting/regularization step
Second step: Get residuals using fitted parameters for 12066 genes
Computing corrected count matrix for 12066 genes
Calculating gene attributes
Wall clock passed: Time difference of 5.958366 secs
Determine variable features
Regressing out percent.mt
|
| | 0%
|
|= | 0%
|
|= | 1%
|
|== | 1%
|
|== | 2%
|
|=== | 2%
|
|==== | 2%
|
|==== | 3%
|
|===== | 3%
|
|===== | 4%
|
|====== | 4%
|
|======= | 4%
|
|======= | 5%
|
|======== | 5%
|
|======== | 6%
|
|========= | 6%
|
|========== | 6%
|
|========== | 7%
|
|=========== | 7%
|
|=========== | 8%
|
|============ | 8%
|
|============= | 8%
|
|============= | 9%
|
|============== | 9%
|
|============== | 10%
|
|=============== | 10%
|
|================ | 10%
|
|================ | 11%
|
|================= | 11%
|
|================= | 12%
|
|================== | 12%
|
|=================== | 12%
|
|=================== | 13%
|
|==================== | 13%
|
|==================== | 14%
|
|===================== | 14%
|
|====================== | 14%
|
|====================== | 15%
|
|======================= | 15%
|
|======================= | 16%
|
|======================== | 16%
|
|========================= | 16%
|
|========================= | 17%
|
|========================== | 17%
|
|========================== | 18%
|
|=========================== | 18%
|
|============================ | 18%
|
|============================ | 19%
|
|============================= | 19%
|
|============================= | 20%
|
|============================== | 20%
|
|=============================== | 20%
|
|=============================== | 21%
|
|================================ | 21%
|
|================================ | 22%
|
|================================= | 22%
|
|================================== | 22%
|
|================================== | 23%
|
|=================================== | 23%
|
|=================================== | 24%
|
|==================================== | 24%
|
|===================================== | 24%
|
|===================================== | 25%
|
|====================================== | 25%
|
|====================================== | 26%
|
|======================================= | 26%
|
|======================================== | 26%
|
|======================================== | 27%
|
|========================================= | 27%
|
|========================================= | 28%
|
|========================================== | 28%
|
|=========================================== | 28%
|
|=========================================== | 29%
|
|============================================ | 29%
|
|============================================ | 30%
|
|============================================= | 30%
|
|============================================== | 30%
|
|============================================== | 31%
|
|=============================================== | 31%
|
|=============================================== | 32%
|
|================================================ | 32%
|
|================================================= | 32%
|
|================================================= | 33%
|
|================================================== | 33%
|
|================================================== | 34%
|
|=================================================== | 34%
|
|==================================================== | 34%
|
|==================================================== | 35%
|
|===================================================== | 35%
|
|===================================================== | 36%
|
|====================================================== | 36%
|
|======================================================= | 36%
|
|======================================================= | 37%
|
|======================================================== | 37%
|
|======================================================== | 38%
|
|========================================================= | 38%
|
|========================================================== | 38%
|
|========================================================== | 39%
|
|=========================================================== | 39%
|
|=========================================================== | 40%
|
|============================================================ | 40%
|
|============================================================= | 40%
|
|============================================================= | 41%
|
|============================================================== | 41%
|
|============================================================== | 42%
|
|=============================================================== | 42%
|
|================================================================ | 42%
|
|================================================================ | 43%
|
|================================================================= | 43%
|
|================================================================= | 44%
|
|================================================================== | 44%
|
|=================================================================== | 44%
|
|=================================================================== | 45%
|
|==================================================================== | 45%
|
|==================================================================== | 46%
|
|===================================================================== | 46%
|
|====================================================================== | 46%
|
|====================================================================== | 47%
|
|======================================================================= | 47%
|
|======================================================================= | 48%
|
|======================================================================== | 48%
|
|========================================================================= | 48%
|
|========================================================================= | 49%
|
|========================================================================== | 49%
|
|========================================================================== | 50%
|
|=========================================================================== | 50%
|
|============================================================================ | 50%
|
|============================================================================ | 51%
|
|============================================================================= | 51%
|
|============================================================================= | 52%
|
|============================================================================== | 52%
|
|=============================================================================== | 52%
|
|=============================================================================== | 53%
|
|================================================================================ | 53%
|
|================================================================================ | 54%
|
|================================================================================= | 54%
|
|================================================================================== | 54%
|
|================================================================================== | 55%
|
|=================================================================================== | 55%
|
|=================================================================================== | 56%
|
|==================================================================================== | 56%
|
|===================================================================================== | 56%
|
|===================================================================================== | 57%
|
|====================================================================================== | 57%
|
|====================================================================================== | 58%
|
|======================================================================================= | 58%
|
|======================================================================================== | 58%
|
|======================================================================================== | 59%
|
|========================================================================================= | 59%
|
|========================================================================================= | 60%
|
|========================================================================================== | 60%
|
|=========================================================================================== | 60%
|
|=========================================================================================== | 61%
|
|============================================================================================ | 61%
|
|============================================================================================ | 62%
|
|============================================================================================= | 62%
|
|============================================================================================== | 62%
|
|============================================================================================== | 63%
|
|=============================================================================================== | 63%
|
|=============================================================================================== | 64%
|
|================================================================================================ | 64%
|
|================================================================================================= | 64%
|
|================================================================================================= | 65%
|
|================================================================================================== | 65%
|
|================================================================================================== | 66%
|
|=================================================================================================== | 66%
|
|==================================================================================================== | 66%
|
|==================================================================================================== | 67%
|
|===================================================================================================== | 67%
|
|===================================================================================================== | 68%
|
|====================================================================================================== | 68%
|
|======================================================================================================= | 68%
|
|======================================================================================================= | 69%
|
|======================================================================================================== | 69%
|
|======================================================================================================== | 70%
|
|========================================================================================================= | 70%
|
|========================================================================================================== | 70%
|
|========================================================================================================== | 71%
|
|=========================================================================================================== | 71%
|
|=========================================================================================================== | 72%
|
|============================================================================================================ | 72%
|
|============================================================================================================= | 72%
|
|============================================================================================================= | 73%
|
|============================================================================================================== | 73%
|
|============================================================================================================== | 74%
|
|=============================================================================================================== | 74%
|
|================================================================================================================ | 74%
|
|================================================================================================================ | 75%
|
|================================================================================================================= | 75%
|
|================================================================================================================= | 76%
|
|================================================================================================================== | 76%
|
|=================================================================================================================== | 76%
|
|=================================================================================================================== | 77%
|
|==================================================================================================================== | 77%
|
|==================================================================================================================== | 78%
|
|===================================================================================================================== | 78%
|
|====================================================================================================================== | 78%
|
|====================================================================================================================== | 79%
|
|======================================================================================================================= | 79%
|
|======================================================================================================================= | 80%
|
|======================================================================================================================== | 80%
|
|========================================================================================================================= | 80%
|
|========================================================================================================================= | 81%
|
|========================================================================================================================== | 81%
|
|========================================================================================================================== | 82%
|
|=========================================================================================================================== | 82%
|
|============================================================================================================================ | 82%
|
|============================================================================================================================ | 83%
|
|============================================================================================================================= | 83%
|
|============================================================================================================================= | 84%
|
|============================================================================================================================== | 84%
|
|=============================================================================================================================== | 84%
|
|=============================================================================================================================== | 85%
|
|================================================================================================================================ | 85%
|
|================================================================================================================================ | 86%
|
|================================================================================================================================= | 86%
|
|================================================================================================================================== | 86%
|
|================================================================================================================================== | 87%
|
|=================================================================================================================================== | 87%
|
|=================================================================================================================================== | 88%
|
|==================================================================================================================================== | 88%
|
|===================================================================================================================================== | 88%
|
|===================================================================================================================================== | 89%
|
|====================================================================================================================================== | 89%
|
|====================================================================================================================================== | 90%
|
|======================================================================================================================================= | 90%
|
|======================================================================================================================================== | 90%
|
|======================================================================================================================================== | 91%
|
|========================================================================================================================================= | 91%
|
|========================================================================================================================================= | 92%
|
|========================================================================================================================================== | 92%
|
|=========================================================================================================================================== | 92%
|
|=========================================================================================================================================== | 93%
|
|============================================================================================================================================ | 93%
|
|============================================================================================================================================ | 94%
|
|============================================================================================================================================= | 94%
|
|============================================================================================================================================== | 94%
|
|============================================================================================================================================== | 95%
|
|=============================================================================================================================================== | 95%
|
|=============================================================================================================================================== | 96%
|
|================================================================================================================================================ | 96%
|
|================================================================================================================================================= | 96%
|
|================================================================================================================================================= | 97%
|
|================================================================================================================================================== | 97%
|
|================================================================================================================================================== | 98%
|
|=================================================================================================================================================== | 98%
|
|==================================================================================================================================================== | 98%
|
|==================================================================================================================================================== | 99%
|
|===================================================================================================================================================== | 99%
|
|===================================================================================================================================================== | 100%
|
|======================================================================================================================================================| 100%
Centering data matrix
|
| | 0%
|
|====================================== | 25%
|
|=========================================================================== | 50%
|
|================================================================================================================ | 75%
|
|======================================================================================================================================================| 100%
Place corrected count matrix in counts slot
vst.flavor='v2' set. Using model with fixed slope and excluding poisson genes.
Calculating cell attributes from input UMI matrix: log_umi
Variance stabilizing transformation of count matrix of size 14810 by 4302
Model formula is y ~ log_umi
Get Negative Binomial regression parameters per gene
Using 2000 genes, 4302 cells
Found 223 outliers - those will be ignored in fitting/regularization step
Second step: Get residuals using fitted parameters for 14810 genes
Computing corrected count matrix for 14810 genes
Calculating gene attributes
Wall clock passed: Time difference of 10.78018 secs
Determine variable features
Regressing out percent.mt
|
| | 0%
|
|= | 0%
|
|= | 1%
|
|== | 1%
|
|== | 2%
|
|=== | 2%
|
|==== | 2%
|
|==== | 3%
|
|===== | 3%
|
|===== | 4%
|
|====== | 4%
|
|======= | 4%
|
|======= | 5%
|
|======== | 5%
|
|======== | 6%
|
|========= | 6%
|
|========== | 6%
|
|========== | 7%
|
|=========== | 7%
|
|=========== | 8%
|
|============ | 8%
|
|============= | 8%
|
|============= | 9%
|
|============== | 9%
|
|============== | 10%
|
|=============== | 10%
|
|================ | 10%
|
|================ | 11%
|
|================= | 11%
|
|================= | 12%
|
|================== | 12%
|
|=================== | 12%
|
|=================== | 13%
|
|==================== | 13%
|
|==================== | 14%
|
|===================== | 14%
|
|====================== | 14%
|
|====================== | 15%
|
|======================= | 15%
|
|======================= | 16%
|
|======================== | 16%
|
|========================= | 16%
|
|========================= | 17%
|
|========================== | 17%
|
|========================== | 18%
|
|=========================== | 18%
|
|============================ | 18%
|
|============================ | 19%
|
|============================= | 19%
|
|============================= | 20%
|
|============================== | 20%
|
|=============================== | 20%
|
|=============================== | 21%
|
|================================ | 21%
|
|================================ | 22%
|
|================================= | 22%
|
|================================== | 22%
|
|================================== | 23%
|
|=================================== | 23%
|
|=================================== | 24%
|
|==================================== | 24%
|
|===================================== | 24%
|
|===================================== | 25%
|
|====================================== | 25%
|
|====================================== | 26%
|
|======================================= | 26%
|
|======================================== | 26%
|
|======================================== | 27%
|
|========================================= | 27%
|
|========================================= | 28%
|
|========================================== | 28%
|
|=========================================== | 28%
|
|=========================================== | 29%
|
|============================================ | 29%
|
|============================================ | 30%
|
|============================================= | 30%
|
|============================================== | 30%
|
|============================================== | 31%
|
|=============================================== | 31%
|
|=============================================== | 32%
|
|================================================ | 32%
|
|================================================= | 32%
|
|================================================= | 33%
|
|================================================== | 33%
|
|================================================== | 34%
|
|=================================================== | 34%
|
|==================================================== | 34%
|
|==================================================== | 35%
|
|===================================================== | 35%
|
|===================================================== | 36%
|
|====================================================== | 36%
|
|======================================================= | 36%
|
|======================================================= | 37%
|
|======================================================== | 37%
|
|======================================================== | 38%
|
|========================================================= | 38%
|
|========================================================== | 38%
|
|========================================================== | 39%
|
|=========================================================== | 39%
|
|=========================================================== | 40%
|
|============================================================ | 40%
|
|============================================================= | 40%
|
|============================================================= | 41%
|
|============================================================== | 41%
|
|============================================================== | 42%
|
|=============================================================== | 42%
|
|================================================================ | 42%
|
|================================================================ | 43%
|
|================================================================= | 43%
|
|================================================================= | 44%
|
|================================================================== | 44%
|
|=================================================================== | 44%
|
|=================================================================== | 45%
|
|==================================================================== | 45%
|
|==================================================================== | 46%
|
|===================================================================== | 46%
|
|====================================================================== | 46%
|
|====================================================================== | 47%
|
|======================================================================= | 47%
|
|======================================================================= | 48%
|
|======================================================================== | 48%
|
|========================================================================= | 48%
|
|========================================================================= | 49%
|
|========================================================================== | 49%
|
|========================================================================== | 50%
|
|=========================================================================== | 50%
|
|============================================================================ | 50%
|
|============================================================================ | 51%
|
|============================================================================= | 51%
|
|============================================================================= | 52%
|
|============================================================================== | 52%
|
|=============================================================================== | 52%
|
|=============================================================================== | 53%
|
|================================================================================ | 53%
|
|================================================================================ | 54%
|
|================================================================================= | 54%
|
|================================================================================== | 54%
|
|================================================================================== | 55%
|
|=================================================================================== | 55%
|
|=================================================================================== | 56%
|
|==================================================================================== | 56%
|
|===================================================================================== | 56%
|
|===================================================================================== | 57%
|
|====================================================================================== | 57%
|
|====================================================================================== | 58%
|
|======================================================================================= | 58%
|
|======================================================================================== | 58%
|
|======================================================================================== | 59%
|
|========================================================================================= | 59%
|
|========================================================================================= | 60%
|
|========================================================================================== | 60%
|
|=========================================================================================== | 60%
|
|=========================================================================================== | 61%
|
|============================================================================================ | 61%
|
|============================================================================================ | 62%
|
|============================================================================================= | 62%
|
|============================================================================================== | 62%
|
|============================================================================================== | 63%
|
|=============================================================================================== | 63%
|
|=============================================================================================== | 64%
|
|================================================================================================ | 64%
|
|================================================================================================= | 64%
|
|================================================================================================= | 65%
|
|================================================================================================== | 65%
|
|================================================================================================== | 66%
|
|=================================================================================================== | 66%
|
|==================================================================================================== | 66%
|
|==================================================================================================== | 67%
|
|===================================================================================================== | 67%
|
|===================================================================================================== | 68%
|
|====================================================================================================== | 68%
|
|======================================================================================================= | 68%
|
|======================================================================================================= | 69%
|
|======================================================================================================== | 69%
|
|======================================================================================================== | 70%
|
|========================================================================================================= | 70%
|
|========================================================================================================== | 70%
|
|========================================================================================================== | 71%
|
|=========================================================================================================== | 71%
|
|=========================================================================================================== | 72%
|
|============================================================================================================ | 72%
|
|============================================================================================================= | 72%
|
|============================================================================================================= | 73%
|
|============================================================================================================== | 73%
|
|============================================================================================================== | 74%
|
|=============================================================================================================== | 74%
|
|================================================================================================================ | 74%
|
|================================================================================================================ | 75%
|
|================================================================================================================= | 75%
|
|================================================================================================================= | 76%
|
|================================================================================================================== | 76%
|
|=================================================================================================================== | 76%
|
|=================================================================================================================== | 77%
|
|==================================================================================================================== | 77%
|
|==================================================================================================================== | 78%
|
|===================================================================================================================== | 78%
|
|====================================================================================================================== | 78%
|
|====================================================================================================================== | 79%
|
|======================================================================================================================= | 79%
|
|======================================================================================================================= | 80%
|
|======================================================================================================================== | 80%
|
|========================================================================================================================= | 80%
|
|========================================================================================================================= | 81%
|
|========================================================================================================================== | 81%
|
|========================================================================================================================== | 82%
|
|=========================================================================================================================== | 82%
|
|============================================================================================================================ | 82%
|
|============================================================================================================================ | 83%
|
|============================================================================================================================= | 83%
|
|============================================================================================================================= | 84%
|
|============================================================================================================================== | 84%
|
|=============================================================================================================================== | 84%
|
|=============================================================================================================================== | 85%
|
|================================================================================================================================ | 85%
|
|================================================================================================================================ | 86%
|
|================================================================================================================================= | 86%
|
|================================================================================================================================== | 86%
|
|================================================================================================================================== | 87%
|
|=================================================================================================================================== | 87%
|
|=================================================================================================================================== | 88%
|
|==================================================================================================================================== | 88%
|
|===================================================================================================================================== | 88%
|
|===================================================================================================================================== | 89%
|
|====================================================================================================================================== | 89%
|
|====================================================================================================================================== | 90%
|
|======================================================================================================================================= | 90%
|
|======================================================================================================================================== | 90%
|
|======================================================================================================================================== | 91%
|
|========================================================================================================================================= | 91%
|
|========================================================================================================================================= | 92%
|
|========================================================================================================================================== | 92%
|
|=========================================================================================================================================== | 92%
|
|=========================================================================================================================================== | 93%
|
|============================================================================================================================================ | 93%
|
|============================================================================================================================================ | 94%
|
|============================================================================================================================================= | 94%
|
|============================================================================================================================================== | 94%
|
|============================================================================================================================================== | 95%
|
|=============================================================================================================================================== | 95%
|
|=============================================================================================================================================== | 96%
|
|================================================================================================================================================ | 96%
|
|================================================================================================================================================= | 96%
|
|================================================================================================================================================= | 97%
|
|================================================================================================================================================== | 97%
|
|================================================================================================================================================== | 98%
|
|=================================================================================================================================================== | 98%
|
|==================================================================================================================================================== | 98%
|
|==================================================================================================================================================== | 99%
|
|===================================================================================================================================================== | 99%
|
|===================================================================================================================================================== | 100%
|
|======================================================================================================================================================| 100%
Centering data matrix
|
| | 0%
|
|====================================== | 25%
|
|=========================================================================== | 50%
|
|================================================================================================================ | 75%
|
|======================================================================================================================================================| 100%
Place corrected count matrix in counts slot
Set default assay to SCT
# Calculate PCs using variable features determined by SCTransform (3000 by default)
seurat_merged_rmd <- RunPCA(seurat_merged_rmd, assay = "SCT", npcs = 50)
Warning: The following 664 features requested have not been scaled (running reduction without them): COL1A2, COL3A1, KRTDAP, IGHG3, IGHG1, S100A7, KRT2, KRT6B, KRT16, KRT6C, LUM, KRT15, KRT17, S100A8, SFRP2, JCHAIN, IGHA2, DCN, KRT6A, IGHGP, S100A9, SPARCL1, IGHG2, POSTN, SPARC, CALML5, MGP, CCL2, MMP2, SPRR1B, SERPINB4, CXCL14, IGFBP3, TNC, COMP, CXCL12, CCDC80, THY1, IGHG4, TAGLN, IGFBP5, SBSN, CTSK, RAMP2, MZB1, S100A2, ACKR1, GNG11, IGHM, PLVAP, KRT5, FBN1, FBLN1, PLAC9, VCAN, CRYAB, SPRR2A, FBLN2, A2M, FSTL1, UBE2C, DPT, MFAP5, CCL20, C11orf96, AQP1, MFAP4, TNXB, SELE, COL4A1, RNASE1, LTF, SLPI, CTGF, SERPINF1, RGS5, CCL19, RAMP3, CLDN5, WISP2, COL4A2, PLPP3, NNMT, TIMP3, CYR61, SOD3, C1S, DIO2, SOX18, CXCL1, IGHA1, IGFBP6, CCL26, C10orf99, CALML3, FN1, TWIST2, C2CD4B, TM4SF1, LY6D, SERPINB3, PRRX1, CCR6, NR2F2, NDUFA4L2, TOP2A, COL14A1, EMCN, IVL, COL5A2, APOD, COL6A6, EGFL6, COL15A1, HLA-DRB5, IFI27, CTHRC1, EGFL7, RARRES2, CPE, PDGFRB, AEBP1, LGALS2, COL5A1, TNFAIP6, SPRR2D, COL12A1, CLDN4, BGN, TMEM176B, PTN, SPRR2E, GJB2, PMP22, APCDD1, COL6A5, ADGRL4, HPGDS, TWIST1, CH25H, COL17A1, FGFBP1, EDN2, CNFN, SFN, CRABP1, MEG3, CLEC14A, HTRA1, PODXL, ECSCR, MXRA8, IGLC2, CXCL3, SLIT3, CD24, CCL27, IL20, ACKR3, IGFL1, TCIM, DCT, LGALS7B, TMEM45A, F10, CD40LG, CDK1, SERPING1, DSC1, LRP1, PRELP, LMCD1, DEPP1, PDGFRA, PI15, CD34, ASPM, CSTA, ALDH1A1, SERPINB2, IL1R2, MYLK, IGFBP2, CD93, MGST1, JAM2, LHFPL6, IGLC3, STEAP4, PLEKHH2, FLT1, TMEM176A, MT1G, MYH11, WNT5A, DEFB1, SOSTDC1, DSP, COX7A1, VCAM1, SOX17, ID4, TACSTD2, THBS2, CYP1B1, RCN3, EDN1, KCTD12, CCNB2, ELN, SEMA3C, ENPP2, CHI3L2, TSPAN7, ISLR, HTRA3, OLFML3, SLURP1, SPINK5, C1QTNF3, CYP26B1, LTBP1, FKBP10, EPAS1, ANGPTL1, FMOD, ABI3BP, PLAT, SRPX, CAVIN3, ESAM, CCL23, TNFAIP2, BICC1, ZNF385D, CP, FAP, HES5, ADAMTS5, GJB6, CXCR6, CD248, TM4SF18, AXL, ECM1, ITIH5, MLANA, LGALS7, RND3, MUCL1, ASPN, FILIP1L, S100A14, HAS2, KLK7, TINAGL1, SNCG, NRN1, HSPG2, SERPINB13, SYNPO2, KRT23, COL23A1, CD27, ASS1, BCAM, MCTP1, SULT2B1, LAMB2, DSC2, EFEMP1, MMP7, CDH11, CRISPLD2, PDGFRL, PDK4, ARHGAP29, S100A7A, MT1M, HMMR, IL3RA, EREG, GAS1, ANPEP, WFDC1, PPP1R14A, NRP1, EMID1, MFAP2, GPX2, TPPP3, NDN, DDR2, VWF, ANGPTL2, EDNRA, FAM25A, TK1, FOXC1, MRC2, AKR1B10, FST, CENPW, LOXL2, DAB2, CHN1, CYYR1, RBP7, FAM198B, LIFR, SYT8, PLAU, RHOV, DSG1, LOX, IGFL2, NOV, MSX1, LMO2, ELF3, SEMA5A, MRGPRF, MS4A1, SDC2, LRRN4CL, CSF2RB, CSRP2, SFRP1, ITGBL1, KCNK7, CAVIN2, VASN, GJA4, BMP2, DEGS2, NRARP, IL6, LAMB3, MAP1B, NMU, MMP14, CDH5, PTGIS, CASP14, CYSRT1, C1QTNF1, WNT4, LAMC1, MMRN2, MEOX2, CTSL, THEM5, TPX2, SAA1, RNASE6, DLC1, MXRA5, GGT5, C3, LAMA4, OMD, ITGA1, KLK11, GPX8, PBK, ITGB5, THBD, SOX9, CXorf36, KREMEN2, FXYD3, MYCT1, MT1H, ADGRF5, OLFML2A, MAL2, NTM, CENPA, APOBEC3A, CCL7, CCNA2, HMCN1, PLAC4, TMEM204, ADAMTS4, NCCRP1, FAM30A, PKP1, PCDH18, IFIT1, ANGPTL4, VWA1, DSC3, FOXQ1, ALDH3A1, PTK7, ANLN, TROAP, PLK1, S100A16, MAFB, A4GALT, ANTXR1, IL33, DKK3, FAM111B, PDZK1IP1, SERPINB7, RUNX1T1, TNS1, ADM5, HOXD8, EMILIN1, APOC1, COL16A1, SGCE, ADAMTS2, NT5E, DLGAP5, ZWINT, CLDN1, UACA, RAB25, WWTR1, HSPB8, HCAR2, LGALSL, PRRX2, FJX1, OVOL1, TBX3, MYO1B, TGM3, SCUBE2, KDR, CD36, ACVRL1, PXDC1, EFNB2, SLCO2A1, FAM114A1, GPNMB, WNT3, EMP2, CCDC3, ITGB4, PDPN, PGF, LY6G6C, TNFRSF21, FKBP9, CDA, CEP55, SERPINB5, ANXA3, PALMD, ECM2, PPP1R3C, MATN2, CENPE, KRT31, LURAP1L, PRSS3, CDCA3, SELENOP, SELP, AURKB, NRP2, GTSE1, BBOX1, PPIC, RAI14, LPAR1, UBE2T, KIF23, RCAN2, KLK10, NUPR1, COL5A3, COL7A1, PDGFC, ST5, SERTAD4-AS1, CDH13, CXADR, SNAI2, MARVELD1, DDX3Y, TCEAL9, STXBP6, CDHR1, TMEM158, COPZ2, ITGA2, FRMD6, NFIB, NPW, GDPD2, KCNJ2, TMEM98, SOX7, CAV2, TMEM40, CLEC2A, IRX2, ITPRIPL2, NOSTRIN, TEAD1, DEPDC1, SPRED1, PDLIM4, FZD1, HNMT, PHGDH, KITLG, ABCA1, TENT5B, SDR16C5, FGFR3, LAMC2, C16orf45, EPPK1, PLSCR4, AKR1C1, OSBPL1A, LGALS3BP, IL1RN, HAS3, C1QTNF2, EPHX3, ECT2, RBMS3, IGLL5, PLA2G2A, PI3, IL1RL1, IL22, CHI3L1, PMEL, TYRP1, IGLV3-1, LCE3D, PRKAR2B, FABP4, PCOLCE2, WFDC2, HLA-DQA2, IGLC7, F13A1, CCL21, PRG4, TNFRSF11B, EDNRB, MMP1, MMP3, TCN1, IL17RB, FRZB, ADAMTS9, ENPP1, TFF3, GMPR, IGHD, CARD18, HIST1H1A, HAS1, MASP1, PAPPA, KRT75, STEAP1, PCAT19, COX4I2, ADAMDEC1, SPRR2G, INHBA, CLMP, CXCL10, CLEC9A, STMN2, BDKRB1, TMEM47, LINC02195, PTGDR2, MMRN1, HAMP, OLFML2B, FAM180B, ADGRA2, STC1, FABP3, TBX2, SMOC2, NOTCH3, AC020656.1, GPX3, EBF1, HCAR3, ITPKC, DPYSL3, CCL8, CLDN15, AKAP12, AC100801.1, KHDRBS3, KRT77, CLDN11, LRRC15, PTPRB, DCLK1, PTPRG, KLK5, CCL18, PPFIBP1, PID1, RHOJ, PDLIM3, GLDN, NKD2, PXDN, KANK2, NEXN, PODN, FAM13C, PROCR, NRGN, ANK2, ROBO2, MEOX1, ELOVL4, GPR153, TEX41, NID1, NEURL1B, MAOB, ANGPTL5, CAMK4, SPC25, AL161431.1, PALLD, HS3ST6, RERG, THBS4, KRT13, AVPR1A, PARD6G-AS1, PREX2, CPXM2, PTPRM, LMO1, CLEC3B, SYNPO, SERPINA12, PROS1, TMTC1, CAPNS2, WFDC5, MTUS1, FCRL6, EDIL3, ACKR4, VGLL3, CACNB4, RRAS, THSD4PC_ 1
Positive: NKG7, S100A4, VIM, GNLY, IL32, SRGN, LGALS1, CCL4, CCL5, CD69
GZMA, GZMB, CD52, KLRB1, TMSB4X, CTSW, HCST, CST7, CXCR4, CYBA
PTPRC, IFITM2, TYROBP, CORO1A, EMP3, KLRD1, TRDC, ALOX5AP, CCL3, B2M
Negative: KRT14, KRT1, DMKN, KRT10, FABP5, PERP, MT1X, AQP3, LYPD3, HSPB1
TXN, RPLP1, CA2, APOE, PHLDA2, S100A11, RPS18, GSTP1, ANXA2, CD9
RPS8, HES1, DYNLL1, JUP, DST, ALDH2, CRABP2, DEGS1, MT2A, DBI
PC_ 2
Positive: COL6A2, VIM, COL1A1, COL6A1, COL6A3, LGALS1, IGFBP4, IGFBP7, TIMP2, S100A6
PCOLCE, SELENOM, CFD, S100A4, C1R, CFH, CALD1, CST3, GSN, TIMP1
CLU, FTH1, COL18A1, ADIRF, CD63, MYL9, FTL, TCF4, PTGDS, SERPINE2
Negative: NKG7, GNLY, CCL4, CCL5, GZMA, GZMB, CST7, CCL3, TYROBP, KLRD1
CCL4L2, KRT1, KRT10, CTSW, DMKN, PRF1, KRT14, HCST, FCER1G, SRGN
IFNG, CD69, XCL2, FABP5, CD7, XCL1, GZMH, CD247, FGFBP2, TRDC
PC_ 3
Positive: IL32, KLRB1, AREG, IL13, CD52, IL7R, LTB, BIRC3, CD69, RGS1
RGCC, SRGN, SAMSN1, ALOX5AP, CXCR4, S100A4, JUNB, PTGS2, RPL10, TNFRSF18
NBAS, ZNF331, DUSP4, FXYD5, JAML, ZFP36L2, CREM, EEF1A1, BATF, SLC2A3
Negative: GNLY, NKG7, CCL4, CCL5, GZMA, CCL3, COL6A2, COL1A1, KRT1, COL6A1
CST7, CCL4L2, COL6A3, DMKN, TYROBP, IGFBP7, IGFBP4, PRF1, KLRD1, FGFBP2
GZMB, TIMP2, CFD, KRT10, IFNG, PCOLCE, CST3, GZMH, FCGR3A, FCER1G
PC_ 4
Positive: KRT14, DST, MT2A, CAV1, STMN1, PTTG1, IFITM3, CD74, CXCL2, HMGB2
CENPF, MT1E, NUSAP1, PDLIM1, GADD45B, ITGA6, TUBA1B, CTNNAL1, PTMA, CCNB1
JUN, HIST1H4C, CCL4, SERPINH1, HSPA1A, C12orf75, FOS, HLA-DRA, CCL3, PCLAF
Negative: KRT1, KRT10, DMKN, FABP5, S100A4, IL32, LYPD3, LGALS1, VIM, CD52
PERP, KLRB1, IL13, SRGN, CD69, CRABP2, ALOX5AP, APOE, GLTP, DBI
CST3, COL1A1, PHLDA2, COL6A2, IL7R, COL6A1, LGALS3, PTPRC, SAMSN1, CXCR4
PC_ 5
Positive: CD74, HLA-DRA, HLA-DRB1, HLA-DPA1, HLA-DPB1, HLA-DQA1, IGFBP7, HLA-DQB1, PECAM1, HLA-DMA
VIM, C1orf54, CST3, LYZ, KRT1, CPVL, GIMAP7, NPDC1, KLF2, ENG
RCAN1, SLC9A3R2, GIMAP4, ITM2A, HLA-DMB, KRT10, DMKN, CTSH, COTL1, RGS16
Negative: COL1A1, KRT14, COL6A2, COL6A1, COL6A3, S100A4, CFD, PCOLCE, C1R, KLRB1
TIMP2, AREG, MT2A, CD69, LGALS1, FTH1, CFH, TIMP1, DST, IL32
EMP3, COL18A1, SELENOM, S100A6, SERPINE2, PTGDS, MT1E, CYBRD1, CD63, FXYD1
# Before running Harmony, make sure that the metadata of our Seurat object contains one (or several) variable(s) describing the factor(s) we want to integrate on (e.g. one variable for patient sample, one variable for condition)
harmonized_seurat <- RunHarmony(seurat_merged_rmd,
group.by.vars = c("Sample", "Condition"),
reduction = "pca", assay.use = "SCT", reduction.save = "harmony")
Transposing data matrix
Initializing state using k-means centroids initialization
Harmony 1/10
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Harmony 2/10
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Harmony 3/10
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Harmony 4/10
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Harmony 5/10
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Harmony 6/10
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Harmony converged after 6 iterations
# Do UMAP and clustering using Harmony embedding instead of PCA
harmonized_seurat <- harmonized_seurat %>%
RunUMAP(reduction = "harmony", assay = "SCT", dims = 1:40) %>%
FindNeighbors(reduction = "harmony") %>%
FindClusters(resolution = c(0.2, 0.4, 0.6, 0.8, 1.0, 1.2)) # The result of different resolution is stored in the SCT_snn_res.X.X column of meta.data.
16:46:09 UMAP embedding parameters a = 0.9922 b = 1.112
16:46:09 Read 17812 rows and found 40 numeric columns
16:46:09 Using Annoy for neighbor search, n_neighbors = 30
16:46:09 Building Annoy index with metric = cosine, n_trees = 50
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
16:46:10 Writing NN index file to temp file /var/folders/xh/0jp7wn_x1_g49f9z21wrqcs40000gn/T//RtmpN5jY3Z/filed94448741deb
16:46:10 Searching Annoy index using 1 thread, search_k = 3000
16:46:14 Annoy recall = 100%
16:46:15 Commencing smooth kNN distance calibration using 1 thread with target n_neighbors = 30
16:46:16 Initializing from normalized Laplacian + noise (using RSpectra)
16:46:17 Commencing optimization for 200 epochs, with 813778 positive edges
16:46:17 Using rng type: pcg
Using method 'umap'
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
16:46:23 Optimization finished
Computing nearest neighbor graph
Computing SNN
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 17812
Number of edges: 601068
Running Louvain algorithm...
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Maximum modularity in 10 random starts: 0.9588
Number of communities: 11
Elapsed time: 1 seconds
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 17812
Number of edges: 601068
Running Louvain algorithm...
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Maximum modularity in 10 random starts: 0.9330
Number of communities: 15
Elapsed time: 1 seconds
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 17812
Number of edges: 601068
Running Louvain algorithm...
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Maximum modularity in 10 random starts: 0.9135
Number of communities: 17
Elapsed time: 2 seconds
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 17812
Number of edges: 601068
Running Louvain algorithm...
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Maximum modularity in 10 random starts: 0.8982
Number of communities: 21
Elapsed time: 1 seconds
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 17812
Number of edges: 601068
Running Louvain algorithm...
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Maximum modularity in 10 random starts: 0.8860
Number of communities: 24
Elapsed time: 1 seconds
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 17812
Number of edges: 601068
Running Louvain algorithm...
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Maximum modularity in 10 random starts: 0.8754
Number of communities: 28
Elapsed time: 1 seconds
# Visualize UMAP
p3 <- DimPlot(harmonized_seurat, reduction = "umap", label = TRUE, group.by = "Sample")
p4 <- DimPlot(harmonized_seurat, reduction = "umap", label = TRUE, group.by = "Condition")
p3 + p4
# Define the RDS filename with the directory path
rds_filename3 <- paste0("/Users/yunchichen/113-2_scRNA/final_project/processed_data/", "harmony_integrated", ".rds")
# Save the Seurat object to the RDS file
saveRDS(harmonized_seurat, file = rds_filename3)
To choose the correct Seurat function for identifying markers in different circumstances, refer to this tutorial. In brief, when the goal is to (1) identify markers for each cluster, regardless of the condition, we should use FindConservedMarkers(). Notably, since we used SCTransform() in our Harmony workflow, the default assay will be set to SCT. Therefore, we need to reset the default assay to RNA before using FindConservedMarkers(). (2) To identify DEGs between conditions, we should first use PrepSCTFindMarkers(), followed by FindMarkers() to identify the DEGs in the same cluster of cells across different conditions, as outlined in this tutorial. Alternatively, we can use FindMarkers() with RNA layer to to identify DEGs between conditions.
library(dplyr)
library(purrr)
library(tibble)
# Read RDS
harmonized_seurat <- readRDS("/Users/yunchichen/113-2_scRNA/final_project/processed_data/harmony_integrated.rds")
# After running Harmony or performing other normalization steps, use JoinLayers
harmonized_seurat[["RNA"]] <- JoinLayers(harmonized_seurat[["RNA"]])
# Set the active identity class to SCT_snn_res.0.6
Idents(harmonized_seurat) <- harmonized_seurat$SCT_snn_res.0.6
# Set default assay to RNA
DefaultAssay(harmonized_seurat) <- "RNA"
# Visualize UMAP
p1 <- DimPlot(harmonized_seurat, reduction = "umap", group.by = "Condition", label = TRUE)
p2 <- DimPlot(harmonized_seurat, reduction = "umap", group.by = "SCT_snn_res.0.6", label = TRUE) # The cluster number is the same (17) to original paper when resolution is 0.6
p1 + p2
# Create function to get conserved markers for any given cluster
get_conserved <- function(seurat_object, cluster){
FindConservedMarkers(seurat_object,
ident.1 = cluster,
grouping.var = "Condition",
only.pos = TRUE) %>%
rownames_to_column(var = "gene") %>%
left_join(y = unique(annotations[, c("gene_name", "description")]),
by = c("gene" = "gene_name")) %>%
cbind(cluster_id = cluster, .)
}
# Iterate function across desired clusters
conserved_markers <- map_dfr(0:16, function(cluster) {
get_conserved(harmonized_seurat, cluster = cluster)
})
Testing group AD: (0) vs (4, 2, 3, 15, 5, 11, 6, 10, 14, 7, 1, 9, 8, 13, 12, 16)
Testing group NHS: (0) vs (1, 8, 9, 6, 3, 2, 14, 7, 15, 12, 13, 5, 11, 10, 4, 16)
Testing group AD: (1) vs (4, 2, 3, 15, 5, 11, 6, 10, 14, 7, 9, 0, 8, 13, 12, 16)
Testing group NHS: (1) vs (8, 9, 0, 6, 3, 2, 14, 7, 15, 12, 13, 5, 11, 10, 4, 16)
Testing group AD: (2) vs (4, 3, 15, 5, 11, 6, 10, 14, 7, 1, 9, 0, 8, 13, 12, 16)
Testing group NHS: (2) vs (1, 8, 9, 0, 6, 3, 14, 7, 15, 12, 13, 5, 11, 10, 4, 16)
Testing group AD: (3) vs (4, 2, 15, 5, 11, 6, 10, 14, 7, 1, 9, 0, 8, 13, 12, 16)
Testing group NHS: (3) vs (1, 8, 9, 0, 6, 2, 14, 7, 15, 12, 13, 5, 11, 10, 4, 16)
Testing group AD: (4) vs (2, 3, 15, 5, 11, 6, 10, 14, 7, 1, 9, 0, 8, 13, 12, 16)
Testing group NHS: (4) vs (1, 8, 9, 0, 6, 3, 2, 14, 7, 15, 12, 13, 5, 11, 10, 16)
Testing group AD: (5) vs (4, 2, 3, 15, 11, 6, 10, 14, 7, 1, 9, 0, 8, 13, 12, 16)
Testing group NHS: (5) vs (1, 8, 9, 0, 6, 3, 2, 14, 7, 15, 12, 13, 11, 10, 4, 16)
Testing group AD: (6) vs (4, 2, 3, 15, 5, 11, 10, 14, 7, 1, 9, 0, 8, 13, 12, 16)
Testing group NHS: (6) vs (1, 8, 9, 0, 3, 2, 14, 7, 15, 12, 13, 5, 11, 10, 4, 16)
Testing group AD: (7) vs (4, 2, 3, 15, 5, 11, 6, 10, 14, 1, 9, 0, 8, 13, 12, 16)
Testing group NHS: (7) vs (1, 8, 9, 0, 6, 3, 2, 14, 15, 12, 13, 5, 11, 10, 4, 16)
Testing group AD: (8) vs (4, 2, 3, 15, 5, 11, 6, 10, 14, 7, 1, 9, 0, 13, 12, 16)
Testing group NHS: (8) vs (1, 9, 0, 6, 3, 2, 14, 7, 15, 12, 13, 5, 11, 10, 4, 16)
Testing group AD: (9) vs (4, 2, 3, 15, 5, 11, 6, 10, 14, 7, 1, 0, 8, 13, 12, 16)
Testing group NHS: (9) vs (1, 8, 0, 6, 3, 2, 14, 7, 15, 12, 13, 5, 11, 10, 4, 16)
Testing group AD: (10) vs (4, 2, 3, 15, 5, 11, 6, 14, 7, 1, 9, 0, 8, 13, 12, 16)
Testing group NHS: (10) vs (1, 8, 9, 0, 6, 3, 2, 14, 7, 15, 12, 13, 5, 11, 4, 16)
Testing group AD: (11) vs (4, 2, 3, 15, 5, 6, 10, 14, 7, 1, 9, 0, 8, 13, 12, 16)
Testing group NHS: (11) vs (1, 8, 9, 0, 6, 3, 2, 14, 7, 15, 12, 13, 5, 10, 4, 16)
Testing group AD: (12) vs (4, 2, 3, 15, 5, 11, 6, 10, 14, 7, 1, 9, 0, 8, 13, 16)
Testing group NHS: (12) vs (1, 8, 9, 0, 6, 3, 2, 14, 7, 15, 13, 5, 11, 10, 4, 16)
Testing group AD: (13) vs (4, 2, 3, 15, 5, 11, 6, 10, 14, 7, 1, 9, 0, 8, 12, 16)
Testing group NHS: (13) vs (1, 8, 9, 0, 6, 3, 2, 14, 7, 15, 12, 5, 11, 10, 4, 16)
Testing group AD: (14) vs (4, 2, 3, 15, 5, 11, 6, 10, 7, 1, 9, 0, 8, 13, 12, 16)
Testing group NHS: (14) vs (1, 8, 9, 0, 6, 3, 2, 7, 15, 12, 13, 5, 11, 10, 4, 16)
Testing group AD: (15) vs (4, 2, 3, 5, 11, 6, 10, 14, 7, 1, 9, 0, 8, 13, 12, 16)
Testing group NHS: (15) vs (1, 8, 9, 0, 6, 3, 2, 14, 7, 12, 13, 5, 11, 10, 4, 16)
Testing group AD: (16) vs (4, 2, 3, 15, 5, 11, 6, 10, 14, 7, 1, 9, 0, 8, 13, 12)
Testing group NHS: (16) vs (1, 8, 9, 0, 6, 3, 2, 14, 7, 15, 12, 13, 5, 11, 10, 4)
# Filter the top 5 markers for each cluster
log2fc_threshold <- 1 # Minimum log2 fold change
pct_diff_threshold <- 0.3 # Minimum absolute difference between pct.1 and pct.2
top5 <- conserved_markers %>%
group_by(cluster_id) %>%
filter(abs(AD_pct.1 - AD_pct.2) > pct_diff_threshold & # Difference in percentage of cells expressing the gene
abs(NHS_pct.1 - NHS_pct.2) > pct_diff_threshold & # Difference in percentage for NHS condition
(abs(AD_avg_log2FC) > log2fc_threshold | abs(NHS_avg_log2FC) > log2fc_threshold) & # Large fold change
NHS_pct.1 > 0.6 &
AD_pct.1 > 0.6) %>%
slice_head(n = 5) %>%
ungroup()
# Check the top 5 markers selected
View(top5)
# Create a heatmap for the selected markers
DoHeatmap(harmonized_seurat, features = top5$gene) + NoLegend()
# Filter the top 10 markers for each cluster
log2fc_threshold <- 1 # Minimum log2 fold change
pct_diff_threshold <- 0.3 # Minimum absolute difference between pct.1 and pct.2
top10 <- conserved_markers %>%
group_by(cluster_id) %>%
filter(abs(AD_pct.1 - AD_pct.2) > pct_diff_threshold & # Difference in percentage of cells expressing the gene
abs(NHS_pct.1 - NHS_pct.2) > pct_diff_threshold & # Difference in percentage for NHS condition
(abs(AD_avg_log2FC) > log2fc_threshold | abs(NHS_avg_log2FC) > log2fc_threshold) & # Large fold change
NHS_pct.1 > 0.6 &
AD_pct.1 > 0.6) %>%
slice_head(n = 10) %>%
ungroup()
# Check the top 10 markers selected
View(top10)
# Create a heatmap for the selected markers
DoHeatmap(harmonized_seurat, features = top10$gene) + NoLegend()
Warning: The following features were omitted as they were not found in the scale.data slot for the RNA assay: GATA3, TNFRSF18, DEK, CBR1, EMP2, FXYD5
After inspecting the top5/10 genes, the annotation is as follow:
1: NK 2: KC 4: KC 5: KC 6: NK 9: ILCs 10: FB 13: B 16: ILCs
Some cluster markers do not correspond to a single cell type (cluster 0, 3, 7, 8, 11, 12, 14, 15). Moreover, T cells (T), Melanocytes (MEL), Phagocytes (PH), Endothelial cells (EC), and Smooth muscle cells (SMC) are present in the paper’s clusters but absent in ours.
To resolve these issues, we inspect the markers from the paper as well as the canonical markers in each cluster.
# Plot a dot plot to visualize the marker genes from the paper in each cluster
library(ggplot2)
marker_genes <- c(
# ILCs
"PTPRC", "KLRB1", "IL7R",
# NK cells
"KLRD1",
# Keratinocytes (KC)
"KRT1", "KRT5",
# T cells (T)
"CD3D",
# Fibroblasts (FB)
"COL6A1",
# B-cell lineage (B)
"CD79A", "IGHG1",
# Phagocytes (PH)
"LYZ",
# Endothelial cells (EC)
"CLEC14A", "PECAM1",
# Smooth muscle cells (SMC)
"TAGLN", "ACTA2",
# Melanocytes (MEL)
"MLANA"
)
DotPlot(harmonized_seurat, features = marker_genes) +
scale_color_gradient2(low = "blue", mid = "lightgrey", high = "red") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
Scale for colour is already present.
Adding another scale for colour, which will replace the existing scale.
From the result, the annotation is as follow: 0: ILCs 1: NK 2: KC 3: ILCs+KC 4: KC 5: KC 6: NK 7: KC 8: ILCs 9: ILCs 10: FB 11: SMC+EC 12: ILCs 13: B 14: ILCs 15: PH 16: ILCs
Since T cells (T) and Melanocytes (MEL) were not found, we plot more canonical markers to check the annotation and also add cell type label on genes.
# Using ggh4x and dot plot to visulize canonical markers
# install.packages("ggh4x")
# library(ggh4x)
gene_celltype_df <- data.frame(
gene = c(
# ILCs
"PTPRC", "KLRB1", "IL7R",
# NK cells
"KLRD1", "NKG7", "GNLY", "GZMB",
# T cells
"CD3D", "CD4", "CD8A", "TRAC", "TRBC1",
# Keratinocytes
"KRT1", "KRT5", "KRT10",
# Fibroblasts
"COL6A1", "COL1A1", "COL1A2",
# B-lineage cells (b cells + plasma cells)
"CD79A", "IGHG1", "MZB1", "JCHAIN",
# Phagocytes
"LYZ",
# Endothelial cells
"CLEC14A", "PECAM1",
# Smooth muscle cells
"TAGLN", "ACTA2",
# Melanocytes
"MLANA",
# Dendritic cells
"CD1A", "CD209",
# Mast cells
"TPSAB1", "CPA3"
),
cell_type = c(
rep("ILCs", 3),
rep("NK", 4),
rep("T", 5),
rep("KC", 3),
rep("FB", 3),
rep("B", 4),
rep("PH", 1),
rep("EC", 2),
rep("SMC", 2),
rep("MEL", 1),
rep("DC", 2),
rep("MC", 2)
),
stringsAsFactors = FALSE
)
marker_genes <- gene_celltype_df$gene
p <- DotPlot(harmonized_seurat, features = marker_genes) +
scale_color_gradient2(low = "blue", mid = "lightgrey", high = "red") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
Scale for colour is already present.
Adding another scale for colour, which will replace the existing scale.
p$data <- p$data %>%
left_join(gene_celltype_df, by = c("features.plot" = "gene"))
p <- p +
scale_x_discrete(position = "top") + # move x axis to the top, making it like the title of each features
facet_nested(~cell_type + features.plot, scales = "free_x", space = "free_x") +
guides(x = guide_axis_nested(check.overlap = TRUE)) +
theme(
axis.text.x = element_text(angle = 45, hjust = 0),
strip.text.x = element_text(size = 12, face = "bold"),
panel.spacing.x = unit(0.2, "lines")
)
ggsave(filename = "annotation.png", plot = p, width = 15, height = 8, dpi = 300)
p
After plotting additional marker genes, we still did not identify a distinct T cell cluster. A likely explanation is that the authors sorted for CD45⁺ Lin⁻ CD3⁻ cells, thereby excluding CD3-expressing T cells during the sorting step. Regarding melanocytes, the cluster identified by the authors was small and may have been removed during doublet filtering or other processing steps.
Interestingly, we observed that cells in certain NK clusters (cluster 1) and ILC clusters (clusters 0 and 16) express TRBC1 without sufficient expression of other T cell markers, as shown in the feature plots below. From the feature plots, the NK and the ILCs clusters are correlated to their marker expression, however the subset of ILCs cannot be directly distinguished by the conventional marker.
# T cell markers (TRBC1 should be T cell markers but we observe ILCs and NK express it)
FeaturePlot(harmonized_seurat, features = c("CD3D", "CD3E", "CD3G", "TRBC1"))
FeaturePlot(harmonized_seurat, features = c("CD3D", "CD3E", "CD3G", "TRAC"))
# ILCs and NK markers
FeaturePlot(harmonized_seurat, features = c("IL7R", "KLRB1", "GNLY", "NKG7", "KLRD1"))
# ILC1
FeaturePlot(harmonized_seurat, features = c("IL7R", "KLRB1", "TBX21"), label = TRUE)
# ILC2
FeaturePlot(harmonized_seurat, features = c("IL7R", "KLRB1", "GATA3", "RORA"), label = TRUE)
# ILC3
FeaturePlot(harmonized_seurat, features = c("IL7R", "KLRB1", "RORC", "AHR"), label = TRUE)
NA
NA
# Visualize the annotation with umap
cluster_ids <- levels(harmonized_seurat$SCT_snn_res.0.6)
new_cluster_names <- c(
"ILCs", "NK", "KC", "UK", "KC",
"KC", "NK", "KC", "ILCs+NK", "ILCs",
"FB", "EC+SMC", "ILCs", "B", "UK", "PH", "ILCs"
)
names(new_cluster_names) <- cluster_ids
harmonized_seurat$celltype.paper <- plyr::mapvalues(
x = harmonized_seurat$SCT_snn_res.0.6,
from = cluster_ids,
to = new_cluster_names
)
table(harmonized_seurat$celltype.paper)
ILCs NK KC UK ILCs+NK FB EC+SMC B PH
4934 2861 5743 2068 582 499 472 394 259
Idents(harmonized_seurat) <- harmonized_seurat$celltype.paper
p3 <- DimPlot(harmonized_seurat, reduction = "umap", label = TRUE) +
ggtitle("Annotation by canonical markers") +
theme(plot.title = element_text(hjust = 0.5))
p2 + p3
saveRDS(harmonized_seurat, file = "/Users/yunchichen/113-2_scRNA/final_project/processed_data/canonical_annotated_seurat.rds")
# Create function to get conserved markers for any given cluster
get_conserved <- function(seurat_object, cluster){
FindConservedMarkers(seurat_object,
ident.1 = cluster,
grouping.var = "celltype.paper", # Use the celltype.paper for grouping
only.pos = TRUE) %>%
rownames_to_column(var = "gene") %>%
left_join(y = unique(annotations[, c("gene_name", "description")]),
by = c("gene" = "gene_name")) %>%
cbind(cluster_id = cluster, .)
}
# Iterate function across desired clusters
conserved_markers <- map_dfr(0:16, function(cluster) {
get_conserved(harmonized_seurat, cluster = cluster)
})
# View the conserved markers
View(conserved_markers)
The conserved markers were manually compared to the DEGs reported in the paper (Fig. 3G). In the ILC clusters (clusters 0, 9, 12, and 16), we identified similar DEGs to those described in the paper, including CD52, IL32, FXYD5, IL7R, and KLRB1. For NK cells (clusters 1 and 6), we found comparable DEGs such as NKG7, GNLY, GZMA, CCL4, CCL5, CST7, TYROBP, KLRD1, and CTSW.
This part of the code explores several functions of CellChat. However, comparison with the published results was only performed in the section titled ‘Visualize chord plot to understand the interaction among cell types for a specific pathway’.
# install.packages("BiocManager")
# BiocManager::install("BiocNeighbors")
# devtools::install_github("sqjin/Cellchat")
library(CellChat)
library(Seurat)
library(reticulate)
library(patchwork)
library(circlize)
options(stringsAsFactors = FALSE)
# Create CellChat object
data.input <- GetAssayData(harmonized_seurat, assay = "RNA", slot = "data")
labels <- Idents(harmonized_seurat)
meta <- data.frame(group = labels, row.names = names(labels))
cellchat <- createCellChat(object = data.input, meta = meta, group.by = "group")
[1] "Create a CellChat object from a data matrix"
Set cell identities for the new CellChat object
The cell groups used for CellChat analysis are ILCs NK KC UK ILCs+NK FB EC+SMC B PH
saveRDS(cellchat, file = "/Users/yunchichen/113-2_scRNA/final_project/processed_data/cellchat_seurat.rds")
# Load ligand-receptor interaction database
CellChatDB.human <- CellChatDB.human
# Decide which category of data to use
showDatabaseCategory(CellChatDB.human)
CellChatDB.use <- subsetDB(CellChatDB.human, search = "Secreted Signaling")
cellchat@DB <- CellChatDB.use
# Subset the object, making cellchat@data.signaling from <0 x 0 matrix> to 744 x 17812 sparse Matrix of class "dgCMatrix", which means there are 744 genes from CellChatDB.use database that are expressed in our cellchat object
cellchat <- subsetData(cellchat)
# Pre-processing the expression data
cellchat <- identifyOverExpressedGenes(cellchat)
| | 0 % ~calculating
|+ | 1 % ~03s
|++ | 3 % ~02s
|+++ | 4 % ~02s
|+++ | 6 % ~02s
|++++ | 7 % ~02s
|+++++ | 8 % ~02s
|+++++ | 10% ~02s
|++++++ | 11% ~02s
|+++++++ | 13% ~02s
|++++++++ | 14% ~02s
|++++++++ | 15% ~02s
|+++++++++ | 17% ~02s
|++++++++++ | 18% ~02s
|++++++++++ | 20% ~02s
|+++++++++++ | 21% ~02s
|++++++++++++ | 23% ~02s
|++++++++++++ | 24% ~02s
|+++++++++++++ | 25% ~02s
|++++++++++++++ | 27% ~01s
|+++++++++++++++ | 28% ~02s
|+++++++++++++++ | 30% ~02s
|++++++++++++++++ | 31% ~01s
|+++++++++++++++++ | 32% ~01s
|+++++++++++++++++ | 34% ~01s
|++++++++++++++++++ | 35% ~01s
|+++++++++++++++++++ | 37% ~01s
|++++++++++++++++++++ | 38% ~01s
|++++++++++++++++++++ | 39% ~01s
|+++++++++++++++++++++ | 41% ~01s
|++++++++++++++++++++++ | 42% ~01s
|++++++++++++++++++++++ | 44% ~01s
|+++++++++++++++++++++++ | 45% ~01s
|++++++++++++++++++++++++ | 46% ~01s
|++++++++++++++++++++++++ | 48% ~01s
|+++++++++++++++++++++++++ | 49% ~01s
|++++++++++++++++++++++++++ | 51% ~01s
|+++++++++++++++++++++++++++ | 52% ~01s
|+++++++++++++++++++++++++++ | 54% ~01s
|++++++++++++++++++++++++++++ | 55% ~01s
|+++++++++++++++++++++++++++++ | 56% ~01s
|+++++++++++++++++++++++++++++ | 58% ~01s
|++++++++++++++++++++++++++++++ | 59% ~01s
|+++++++++++++++++++++++++++++++ | 61% ~01s
|+++++++++++++++++++++++++++++++ | 62% ~01s
|++++++++++++++++++++++++++++++++ | 63% ~01s
|+++++++++++++++++++++++++++++++++ | 65% ~01s
|++++++++++++++++++++++++++++++++++ | 66% ~01s
|++++++++++++++++++++++++++++++++++ | 68% ~01s
|+++++++++++++++++++++++++++++++++++ | 69% ~01s
|++++++++++++++++++++++++++++++++++++ | 70% ~01s
|++++++++++++++++++++++++++++++++++++ | 72% ~01s
|+++++++++++++++++++++++++++++++++++++ | 73% ~01s
|++++++++++++++++++++++++++++++++++++++ | 75% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 76% ~00s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~00s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~00s
|+++++++++++++++++++++++++++++++++++++++++ | 80% ~00s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~00s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~00s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~00s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~00s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 90% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=02s
| | 0 % ~calculating
|+ | 2 % ~01s
|++ | 4 % ~01s
|+++ | 6 % ~01s
|++++ | 8 % ~01s
|+++++ | 9 % ~01s
|++++++ | 11% ~01s
|+++++++ | 13% ~01s
|++++++++ | 15% ~01s
|+++++++++ | 17% ~01s
|++++++++++ | 19% ~01s
|+++++++++++ | 21% ~01s
|++++++++++++ | 23% ~01s
|+++++++++++++ | 25% ~01s
|++++++++++++++ | 26% ~01s
|+++++++++++++++ | 28% ~01s
|++++++++++++++++ | 30% ~01s
|+++++++++++++++++ | 32% ~01s
|+++++++++++++++++ | 34% ~01s
|++++++++++++++++++ | 36% ~01s
|+++++++++++++++++++ | 38% ~01s
|++++++++++++++++++++ | 40% ~01s
|+++++++++++++++++++++ | 42% ~01s
|++++++++++++++++++++++ | 43% ~01s
|+++++++++++++++++++++++ | 45% ~01s
|++++++++++++++++++++++++ | 47% ~01s
|+++++++++++++++++++++++++ | 49% ~01s
|++++++++++++++++++++++++++ | 51% ~01s
|+++++++++++++++++++++++++++ | 53% ~01s
|++++++++++++++++++++++++++++ | 55% ~01s
|+++++++++++++++++++++++++++++ | 57% ~01s
|++++++++++++++++++++++++++++++ | 58% ~01s
|+++++++++++++++++++++++++++++++ | 60% ~01s
|++++++++++++++++++++++++++++++++ | 62% ~01s
|+++++++++++++++++++++++++++++++++ | 64% ~01s
|++++++++++++++++++++++++++++++++++ | 66% ~01s
|++++++++++++++++++++++++++++++++++ | 68% ~00s
|+++++++++++++++++++++++++++++++++++ | 70% ~00s
|++++++++++++++++++++++++++++++++++++ | 72% ~00s
|+++++++++++++++++++++++++++++++++++++ | 74% ~00s
|++++++++++++++++++++++++++++++++++++++ | 75% ~00s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~00s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~00s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~00s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~00s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~00s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=02s
| | 0 % ~calculating
|+ | 1 % ~04s
|++ | 2 % ~03s
|++ | 3 % ~03s
|+++ | 4 % ~03s
|+++ | 5 % ~03s
|++++ | 6 % ~03s
|++++ | 7 % ~03s
|+++++ | 8 % ~03s
|+++++ | 9 % ~03s
|++++++ | 10% ~02s
|++++++ | 11% ~02s
|+++++++ | 12% ~02s
|+++++++ | 14% ~02s
|++++++++ | 15% ~02s
|++++++++ | 16% ~02s
|+++++++++ | 17% ~02s
|+++++++++ | 18% ~02s
|++++++++++ | 19% ~02s
|++++++++++ | 20% ~02s
|+++++++++++ | 21% ~02s
|+++++++++++ | 22% ~02s
|++++++++++++ | 23% ~02s
|++++++++++++ | 24% ~02s
|+++++++++++++ | 25% ~02s
|++++++++++++++ | 26% ~02s
|++++++++++++++ | 27% ~02s
|+++++++++++++++ | 28% ~02s
|+++++++++++++++ | 29% ~02s
|++++++++++++++++ | 30% ~02s
|++++++++++++++++ | 31% ~02s
|+++++++++++++++++ | 32% ~02s
|+++++++++++++++++ | 33% ~02s
|++++++++++++++++++ | 34% ~02s
|++++++++++++++++++ | 35% ~02s
|+++++++++++++++++++ | 36% ~02s
|+++++++++++++++++++ | 38% ~02s
|++++++++++++++++++++ | 39% ~02s
|++++++++++++++++++++ | 40% ~02s
|+++++++++++++++++++++ | 41% ~02s
|+++++++++++++++++++++ | 42% ~02s
|++++++++++++++++++++++ | 43% ~02s
|++++++++++++++++++++++ | 44% ~02s
|+++++++++++++++++++++++ | 45% ~02s
|+++++++++++++++++++++++ | 46% ~02s
|++++++++++++++++++++++++ | 47% ~02s
|++++++++++++++++++++++++ | 48% ~02s
|+++++++++++++++++++++++++ | 49% ~01s
|+++++++++++++++++++++++++ | 50% ~01s
|++++++++++++++++++++++++++ | 51% ~01s
|+++++++++++++++++++++++++++ | 52% ~01s
|+++++++++++++++++++++++++++ | 53% ~01s
|++++++++++++++++++++++++++++ | 54% ~01s
|++++++++++++++++++++++++++++ | 55% ~01s
|+++++++++++++++++++++++++++++ | 56% ~01s
|+++++++++++++++++++++++++++++ | 57% ~01s
|++++++++++++++++++++++++++++++ | 58% ~01s
|++++++++++++++++++++++++++++++ | 59% ~01s
|+++++++++++++++++++++++++++++++ | 60% ~01s
|+++++++++++++++++++++++++++++++ | 61% ~01s
|++++++++++++++++++++++++++++++++ | 62% ~01s
|++++++++++++++++++++++++++++++++ | 64% ~01s
|+++++++++++++++++++++++++++++++++ | 65% ~01s
|+++++++++++++++++++++++++++++++++ | 66% ~01s
|++++++++++++++++++++++++++++++++++ | 67% ~01s
|++++++++++++++++++++++++++++++++++ | 68% ~01s
|+++++++++++++++++++++++++++++++++++ | 69% ~01s
|+++++++++++++++++++++++++++++++++++ | 70% ~01s
|++++++++++++++++++++++++++++++++++++ | 71% ~01s
|++++++++++++++++++++++++++++++++++++ | 72% ~01s
|+++++++++++++++++++++++++++++++++++++ | 73% ~01s
|+++++++++++++++++++++++++++++++++++++ | 74% ~01s
|++++++++++++++++++++++++++++++++++++++ | 75% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 76% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 78% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 80% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 82% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~00s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~00s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~00s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~00s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=03s
| | 0 % ~calculating
|+ | 1 % ~04s
|++ | 2 % ~04s
|++ | 4 % ~04s
|+++ | 5 % ~03s
|++++ | 6 % ~03s
|++++ | 7 % ~03s
|+++++ | 9 % ~03s
|+++++ | 10% ~03s
|++++++ | 11% ~03s
|+++++++ | 12% ~03s
|+++++++ | 13% ~03s
|++++++++ | 15% ~03s
|++++++++ | 16% ~03s
|+++++++++ | 17% ~03s
|++++++++++ | 18% ~03s
|++++++++++ | 20% ~03s
|+++++++++++ | 21% ~03s
|+++++++++++ | 22% ~03s
|++++++++++++ | 23% ~03s
|+++++++++++++ | 24% ~03s
|+++++++++++++ | 26% ~03s
|++++++++++++++ | 27% ~03s
|+++++++++++++++ | 28% ~02s
|+++++++++++++++ | 29% ~02s
|++++++++++++++++ | 30% ~02s
|++++++++++++++++ | 32% ~02s
|+++++++++++++++++ | 33% ~02s
|++++++++++++++++++ | 34% ~02s
|++++++++++++++++++ | 35% ~02s
|+++++++++++++++++++ | 37% ~02s
|+++++++++++++++++++ | 38% ~02s
|++++++++++++++++++++ | 39% ~02s
|+++++++++++++++++++++ | 40% ~02s
|+++++++++++++++++++++ | 41% ~02s
|++++++++++++++++++++++ | 43% ~02s
|++++++++++++++++++++++ | 44% ~02s
|+++++++++++++++++++++++ | 45% ~02s
|++++++++++++++++++++++++ | 46% ~02s
|++++++++++++++++++++++++ | 48% ~02s
|+++++++++++++++++++++++++ | 49% ~02s
|+++++++++++++++++++++++++ | 50% ~02s
|++++++++++++++++++++++++++ | 51% ~02s
|+++++++++++++++++++++++++++ | 52% ~02s
|+++++++++++++++++++++++++++ | 54% ~02s
|++++++++++++++++++++++++++++ | 55% ~02s
|+++++++++++++++++++++++++++++ | 56% ~02s
|+++++++++++++++++++++++++++++ | 57% ~01s
|++++++++++++++++++++++++++++++ | 59% ~01s
|++++++++++++++++++++++++++++++ | 60% ~01s
|+++++++++++++++++++++++++++++++ | 61% ~01s
|++++++++++++++++++++++++++++++++ | 62% ~01s
|++++++++++++++++++++++++++++++++ | 63% ~01s
|+++++++++++++++++++++++++++++++++ | 65% ~01s
|+++++++++++++++++++++++++++++++++ | 66% ~01s
|++++++++++++++++++++++++++++++++++ | 67% ~01s
|+++++++++++++++++++++++++++++++++++ | 68% ~01s
|+++++++++++++++++++++++++++++++++++ | 70% ~01s
|++++++++++++++++++++++++++++++++++++ | 71% ~01s
|++++++++++++++++++++++++++++++++++++ | 72% ~01s
|+++++++++++++++++++++++++++++++++++++ | 73% ~01s
|++++++++++++++++++++++++++++++++++++++ | 74% ~01s
|++++++++++++++++++++++++++++++++++++++ | 76% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 78% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 80% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~00s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 90% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=03s
| | 0 % ~calculating
|+ | 2 % ~02s
|++ | 3 % ~02s
|+++ | 5 % ~02s
|++++ | 7 % ~02s
|+++++ | 9 % ~02s
|++++++ | 10% ~01s
|+++++++ | 12% ~01s
|+++++++ | 14% ~01s
|++++++++ | 16% ~01s
|+++++++++ | 17% ~01s
|++++++++++ | 19% ~01s
|+++++++++++ | 21% ~01s
|++++++++++++ | 22% ~01s
|+++++++++++++ | 24% ~01s
|+++++++++++++ | 26% ~01s
|++++++++++++++ | 28% ~01s
|+++++++++++++++ | 29% ~01s
|++++++++++++++++ | 31% ~01s
|+++++++++++++++++ | 33% ~01s
|++++++++++++++++++ | 34% ~01s
|+++++++++++++++++++ | 36% ~01s
|+++++++++++++++++++ | 38% ~01s
|++++++++++++++++++++ | 40% ~01s
|+++++++++++++++++++++ | 41% ~01s
|++++++++++++++++++++++ | 43% ~01s
|+++++++++++++++++++++++ | 45% ~01s
|++++++++++++++++++++++++ | 47% ~01s
|+++++++++++++++++++++++++ | 48% ~01s
|+++++++++++++++++++++++++ | 50% ~01s
|++++++++++++++++++++++++++ | 52% ~01s
|+++++++++++++++++++++++++++ | 53% ~01s
|++++++++++++++++++++++++++++ | 55% ~01s
|+++++++++++++++++++++++++++++ | 57% ~01s
|++++++++++++++++++++++++++++++ | 59% ~01s
|+++++++++++++++++++++++++++++++ | 60% ~01s
|++++++++++++++++++++++++++++++++ | 62% ~01s
|++++++++++++++++++++++++++++++++ | 64% ~01s
|+++++++++++++++++++++++++++++++++ | 66% ~01s
|++++++++++++++++++++++++++++++++++ | 67% ~01s
|+++++++++++++++++++++++++++++++++++ | 69% ~01s
|++++++++++++++++++++++++++++++++++++ | 71% ~01s
|+++++++++++++++++++++++++++++++++++++ | 72% ~00s
|++++++++++++++++++++++++++++++++++++++ | 74% ~00s
|++++++++++++++++++++++++++++++++++++++ | 76% ~00s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~00s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~00s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~00s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~00s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~00s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~00s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=02s
| | 0 % ~calculating
|+ | 1 % ~05s
|++ | 2 % ~04s
|++ | 3 % ~04s
|+++ | 4 % ~04s
|+++ | 5 % ~04s
|++++ | 6 % ~04s
|++++ | 7 % ~04s
|+++++ | 8 % ~04s
|+++++ | 9 % ~03s
|++++++ | 10% ~03s
|++++++ | 11% ~03s
|+++++++ | 12% ~03s
|+++++++ | 13% ~03s
|++++++++ | 14% ~03s
|++++++++ | 15% ~03s
|+++++++++ | 16% ~04s
|+++++++++ | 17% ~04s
|++++++++++ | 18% ~03s
|++++++++++ | 19% ~03s
|+++++++++++ | 20% ~03s
|+++++++++++ | 21% ~03s
|++++++++++++ | 22% ~03s
|++++++++++++ | 23% ~03s
|+++++++++++++ | 24% ~06s
|+++++++++++++ | 26% ~05s
|++++++++++++++ | 27% ~05s
|++++++++++++++ | 28% ~05s
|+++++++++++++++ | 29% ~05s
|+++++++++++++++ | 30% ~05s
|++++++++++++++++ | 31% ~05s
|++++++++++++++++ | 32% ~04s
|+++++++++++++++++ | 33% ~04s
|+++++++++++++++++ | 34% ~04s
|++++++++++++++++++ | 35% ~04s
|++++++++++++++++++ | 36% ~04s
|+++++++++++++++++++ | 37% ~04s
|+++++++++++++++++++ | 38% ~04s
|++++++++++++++++++++ | 39% ~04s
|++++++++++++++++++++ | 40% ~04s
|+++++++++++++++++++++ | 41% ~03s
|+++++++++++++++++++++ | 42% ~03s
|++++++++++++++++++++++ | 43% ~03s
|++++++++++++++++++++++ | 44% ~03s
|+++++++++++++++++++++++ | 45% ~03s
|+++++++++++++++++++++++ | 46% ~03s
|++++++++++++++++++++++++ | 47% ~03s
|++++++++++++++++++++++++ | 48% ~03s
|+++++++++++++++++++++++++ | 49% ~03s
|+++++++++++++++++++++++++ | 50% ~03s
|++++++++++++++++++++++++++ | 51% ~03s
|+++++++++++++++++++++++++++ | 52% ~03s
|+++++++++++++++++++++++++++ | 53% ~02s
|++++++++++++++++++++++++++++ | 54% ~02s
|++++++++++++++++++++++++++++ | 55% ~02s
|+++++++++++++++++++++++++++++ | 56% ~02s
|+++++++++++++++++++++++++++++ | 57% ~02s
|++++++++++++++++++++++++++++++ | 58% ~02s
|++++++++++++++++++++++++++++++ | 59% ~02s
|+++++++++++++++++++++++++++++++ | 60% ~02s
|+++++++++++++++++++++++++++++++ | 61% ~02s
|++++++++++++++++++++++++++++++++ | 62% ~02s
|++++++++++++++++++++++++++++++++ | 63% ~02s
|+++++++++++++++++++++++++++++++++ | 64% ~02s
|+++++++++++++++++++++++++++++++++ | 65% ~02s
|++++++++++++++++++++++++++++++++++ | 66% ~02s
|++++++++++++++++++++++++++++++++++ | 67% ~02s
|+++++++++++++++++++++++++++++++++++ | 68% ~02s
|+++++++++++++++++++++++++++++++++++ | 69% ~02s
|++++++++++++++++++++++++++++++++++++ | 70% ~01s
|++++++++++++++++++++++++++++++++++++ | 71% ~01s
|+++++++++++++++++++++++++++++++++++++ | 72% ~01s
|+++++++++++++++++++++++++++++++++++++ | 73% ~01s
|++++++++++++++++++++++++++++++++++++++ | 74% ~01s
|++++++++++++++++++++++++++++++++++++++ | 76% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=05s
| | 0 % ~calculating
|+ | 1 % ~04s
|++ | 3 % ~04s
|++ | 4 % ~04s
|+++ | 5 % ~04s
|++++ | 7 % ~04s
|++++ | 8 % ~04s
|+++++ | 9 % ~03s
|++++++ | 11% ~03s
|++++++ | 12% ~03s
|+++++++ | 13% ~03s
|++++++++ | 14% ~03s
|++++++++ | 16% ~03s
|+++++++++ | 17% ~03s
|++++++++++ | 18% ~03s
|++++++++++ | 20% ~03s
|+++++++++++ | 21% ~03s
|++++++++++++ | 22% ~03s
|++++++++++++ | 24% ~03s
|+++++++++++++ | 25% ~03s
|++++++++++++++ | 26% ~03s
|++++++++++++++ | 28% ~03s
|+++++++++++++++ | 29% ~03s
|++++++++++++++++ | 30% ~03s
|++++++++++++++++ | 32% ~03s
|+++++++++++++++++ | 33% ~03s
|++++++++++++++++++ | 34% ~03s
|++++++++++++++++++ | 36% ~02s
|+++++++++++++++++++ | 37% ~02s
|++++++++++++++++++++ | 38% ~02s
|++++++++++++++++++++ | 39% ~02s
|+++++++++++++++++++++ | 41% ~02s
|++++++++++++++++++++++ | 42% ~02s
|++++++++++++++++++++++ | 43% ~02s
|+++++++++++++++++++++++ | 45% ~02s
|++++++++++++++++++++++++ | 46% ~02s
|++++++++++++++++++++++++ | 47% ~02s
|+++++++++++++++++++++++++ | 49% ~02s
|+++++++++++++++++++++++++ | 50% ~02s
|++++++++++++++++++++++++++ | 51% ~02s
|+++++++++++++++++++++++++++ | 53% ~02s
|+++++++++++++++++++++++++++ | 54% ~02s
|++++++++++++++++++++++++++++ | 55% ~02s
|+++++++++++++++++++++++++++++ | 57% ~02s
|+++++++++++++++++++++++++++++ | 58% ~02s
|++++++++++++++++++++++++++++++ | 59% ~02s
|+++++++++++++++++++++++++++++++ | 61% ~02s
|+++++++++++++++++++++++++++++++ | 62% ~01s
|++++++++++++++++++++++++++++++++ | 63% ~01s
|+++++++++++++++++++++++++++++++++ | 64% ~01s
|+++++++++++++++++++++++++++++++++ | 66% ~01s
|++++++++++++++++++++++++++++++++++ | 67% ~01s
|+++++++++++++++++++++++++++++++++++ | 68% ~01s
|+++++++++++++++++++++++++++++++++++ | 70% ~01s
|++++++++++++++++++++++++++++++++++++ | 71% ~01s
|+++++++++++++++++++++++++++++++++++++ | 72% ~01s
|+++++++++++++++++++++++++++++++++++++ | 74% ~01s
|++++++++++++++++++++++++++++++++++++++ | 75% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 76% ~01s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~01s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 80% ~01s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~01s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 84% ~01s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~01s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~01s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=04s
| | 0 % ~calculating
|+ | 1 % ~01s
|++ | 3 % ~01s
|++ | 4 % ~01s
|+++ | 5 % ~01s
|++++ | 6 % ~01s
|++++ | 8 % ~01s
|+++++ | 9 % ~01s
|++++++ | 10% ~01s
|++++++ | 12% ~01s
|+++++++ | 13% ~01s
|++++++++ | 14% ~01s
|++++++++ | 15% ~01s
|+++++++++ | 17% ~01s
|+++++++++ | 18% ~01s
|++++++++++ | 19% ~01s
|+++++++++++ | 21% ~01s
|+++++++++++ | 22% ~01s
|++++++++++++ | 23% ~01s
|+++++++++++++ | 24% ~01s
|+++++++++++++ | 26% ~01s
|++++++++++++++ | 27% ~01s
|+++++++++++++++ | 28% ~01s
|+++++++++++++++ | 29% ~01s
|++++++++++++++++ | 31% ~01s
|+++++++++++++++++ | 32% ~01s
|+++++++++++++++++ | 33% ~01s
|++++++++++++++++++ | 35% ~01s
|++++++++++++++++++ | 36% ~01s
|+++++++++++++++++++ | 37% ~01s
|++++++++++++++++++++ | 38% ~01s
|++++++++++++++++++++ | 40% ~01s
|+++++++++++++++++++++ | 41% ~01s
|++++++++++++++++++++++ | 42% ~01s
|++++++++++++++++++++++ | 44% ~01s
|+++++++++++++++++++++++ | 45% ~01s
|++++++++++++++++++++++++ | 46% ~01s
|++++++++++++++++++++++++ | 47% ~01s
|+++++++++++++++++++++++++ | 49% ~01s
|+++++++++++++++++++++++++ | 50% ~00s
|++++++++++++++++++++++++++ | 51% ~00s
|+++++++++++++++++++++++++++ | 53% ~00s
|+++++++++++++++++++++++++++ | 54% ~00s
|++++++++++++++++++++++++++++ | 55% ~00s
|+++++++++++++++++++++++++++++ | 56% ~00s
|+++++++++++++++++++++++++++++ | 58% ~00s
|++++++++++++++++++++++++++++++ | 59% ~00s
|+++++++++++++++++++++++++++++++ | 60% ~00s
|+++++++++++++++++++++++++++++++ | 62% ~00s
|++++++++++++++++++++++++++++++++ | 63% ~00s
|+++++++++++++++++++++++++++++++++ | 64% ~00s
|+++++++++++++++++++++++++++++++++ | 65% ~00s
|++++++++++++++++++++++++++++++++++ | 67% ~00s
|++++++++++++++++++++++++++++++++++ | 68% ~00s
|+++++++++++++++++++++++++++++++++++ | 69% ~00s
|++++++++++++++++++++++++++++++++++++ | 71% ~00s
|++++++++++++++++++++++++++++++++++++ | 72% ~00s
|+++++++++++++++++++++++++++++++++++++ | 73% ~00s
|++++++++++++++++++++++++++++++++++++++ | 74% ~00s
|++++++++++++++++++++++++++++++++++++++ | 76% ~00s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~00s
|++++++++++++++++++++++++++++++++++++++++ | 78% ~00s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~00s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~00s
|++++++++++++++++++++++++++++++++++++++++++ | 82% ~00s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~00s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~00s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~00s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++ | 88% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=01s
| | 0 % ~calculating
|+ | 1 % ~02s
|++ | 2 % ~01s
|++ | 3 % ~02s
|+++ | 4 % ~01s
|+++ | 5 % ~01s
|++++ | 6 % ~01s
|++++ | 7 % ~01s
|+++++ | 8 % ~01s
|+++++ | 9 % ~01s
|++++++ | 10% ~01s
|++++++ | 11% ~01s
|+++++++ | 12% ~01s
|+++++++ | 13% ~01s
|++++++++ | 14% ~01s
|++++++++ | 15% ~01s
|+++++++++ | 16% ~01s
|+++++++++ | 17% ~01s
|++++++++++ | 18% ~01s
|++++++++++ | 19% ~01s
|+++++++++++ | 20% ~01s
|+++++++++++ | 21% ~01s
|++++++++++++ | 22% ~01s
|++++++++++++ | 23% ~01s
|+++++++++++++ | 24% ~01s
|+++++++++++++ | 25% ~01s
|++++++++++++++ | 26% ~01s
|++++++++++++++ | 27% ~01s
|+++++++++++++++ | 28% ~01s
|+++++++++++++++ | 29% ~01s
|++++++++++++++++ | 30% ~01s
|++++++++++++++++ | 31% ~01s
|+++++++++++++++++ | 32% ~01s
|+++++++++++++++++ | 33% ~01s
|++++++++++++++++++ | 34% ~01s
|++++++++++++++++++ | 35% ~01s
|+++++++++++++++++++ | 36% ~01s
|+++++++++++++++++++ | 37% ~01s
|++++++++++++++++++++ | 38% ~01s
|++++++++++++++++++++ | 39% ~01s
|+++++++++++++++++++++ | 40% ~01s
|+++++++++++++++++++++ | 41% ~01s
|++++++++++++++++++++++ | 42% ~01s
|++++++++++++++++++++++ | 43% ~01s
|+++++++++++++++++++++++ | 44% ~01s
|+++++++++++++++++++++++ | 45% ~01s
|++++++++++++++++++++++++ | 46% ~01s
|++++++++++++++++++++++++ | 47% ~01s
|+++++++++++++++++++++++++ | 48% ~01s
|+++++++++++++++++++++++++ | 49% ~01s
|++++++++++++++++++++++++++ | 51% ~01s
|++++++++++++++++++++++++++ | 52% ~01s
|+++++++++++++++++++++++++++ | 53% ~01s
|+++++++++++++++++++++++++++ | 54% ~01s
|++++++++++++++++++++++++++++ | 55% ~01s
|++++++++++++++++++++++++++++ | 56% ~01s
|+++++++++++++++++++++++++++++ | 57% ~01s
|+++++++++++++++++++++++++++++ | 58% ~01s
|++++++++++++++++++++++++++++++ | 59% ~01s
|++++++++++++++++++++++++++++++ | 60% ~01s
|+++++++++++++++++++++++++++++++ | 61% ~01s
|+++++++++++++++++++++++++++++++ | 62% ~01s
|++++++++++++++++++++++++++++++++ | 63% ~01s
|++++++++++++++++++++++++++++++++ | 64% ~01s
|+++++++++++++++++++++++++++++++++ | 65% ~01s
|+++++++++++++++++++++++++++++++++ | 66% ~00s
|++++++++++++++++++++++++++++++++++ | 67% ~00s
|++++++++++++++++++++++++++++++++++ | 68% ~00s
|+++++++++++++++++++++++++++++++++++ | 69% ~00s
|+++++++++++++++++++++++++++++++++++ | 70% ~00s
|++++++++++++++++++++++++++++++++++++ | 71% ~00s
|++++++++++++++++++++++++++++++++++++ | 72% ~00s
|+++++++++++++++++++++++++++++++++++++ | 73% ~00s
|+++++++++++++++++++++++++++++++++++++ | 74% ~00s
|++++++++++++++++++++++++++++++++++++++ | 75% ~00s
|++++++++++++++++++++++++++++++++++++++ | 76% ~00s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~00s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~00s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~00s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~00s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~00s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~00s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~00s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~00s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~00s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~00s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~00s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=01s
cellchat <- identifyOverExpressedInteractions(cellchat)
| | 0 % ~calculating
|+ | 1 % ~00s
|++ | 3 % ~00s
|++ | 4 % ~00s
|+++ | 5 % ~00s
|++++ | 6 % ~00s
|++++ | 8 % ~00s
|+++++ | 9 % ~00s
|++++++ | 10% ~00s
|++++++ | 11% ~00s
|+++++++ | 13% ~00s
|+++++++ | 14% ~00s
|++++++++ | 15% ~00s
|+++++++++ | 16% ~00s
|+++++++++ | 18% ~00s
|++++++++++ | 19% ~00s
|+++++++++++ | 20% ~00s
|+++++++++++ | 22% ~00s
|++++++++++++ | 23% ~00s
|+++++++++++++ | 24% ~00s
|+++++++++++++ | 25% ~00s
|++++++++++++++ | 27% ~00s
|++++++++++++++ | 28% ~00s
|+++++++++++++++ | 29% ~00s
|++++++++++++++++ | 30% ~00s
|++++++++++++++++ | 32% ~00s
|+++++++++++++++++ | 33% ~00s
|++++++++++++++++++ | 34% ~00s
|++++++++++++++++++ | 35% ~00s
|+++++++++++++++++++ | 37% ~00s
|+++++++++++++++++++ | 38% ~00s
|++++++++++++++++++++ | 39% ~00s
|+++++++++++++++++++++ | 41% ~00s
|+++++++++++++++++++++ | 42% ~00s
|++++++++++++++++++++++ | 43% ~00s
|+++++++++++++++++++++++ | 44% ~00s
|+++++++++++++++++++++++ | 46% ~00s
|++++++++++++++++++++++++ | 47% ~00s
|+++++++++++++++++++++++++ | 48% ~00s
|+++++++++++++++++++++++++ | 49% ~00s
|++++++++++++++++++++++++++ | 51% ~00s
|++++++++++++++++++++++++++ | 52% ~00s
|+++++++++++++++++++++++++++ | 53% ~00s
|++++++++++++++++++++++++++++ | 54% ~00s
|++++++++++++++++++++++++++++ | 56% ~00s
|+++++++++++++++++++++++++++++ | 57% ~00s
|++++++++++++++++++++++++++++++ | 58% ~00s
|++++++++++++++++++++++++++++++ | 59% ~00s
|+++++++++++++++++++++++++++++++ | 61% ~00s
|++++++++++++++++++++++++++++++++ | 62% ~00s
|++++++++++++++++++++++++++++++++ | 63% ~00s
|+++++++++++++++++++++++++++++++++ | 65% ~00s
|+++++++++++++++++++++++++++++++++ | 66% ~00s
|++++++++++++++++++++++++++++++++++ | 67% ~00s
|+++++++++++++++++++++++++++++++++++ | 68% ~00s
|+++++++++++++++++++++++++++++++++++ | 70% ~00s
|++++++++++++++++++++++++++++++++++++ | 71% ~00s
|+++++++++++++++++++++++++++++++++++++ | 72% ~00s
|+++++++++++++++++++++++++++++++++++++ | 73% ~00s
|++++++++++++++++++++++++++++++++++++++ | 75% ~00s
|++++++++++++++++++++++++++++++++++++++ | 76% ~00s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~00s
|++++++++++++++++++++++++++++++++++++++++ | 78% ~00s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~00s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~00s
|++++++++++++++++++++++++++++++++++++++++++ | 82% ~00s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~00s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~00s
|++++++++++++++++++++++++++++++++++++++++++++ | 86% ~00s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=00s
| | 0 % ~calculating
|+ | 1 % ~00s
|+ | 2 % ~00s
|++ | 3 % ~00s
|++ | 4 % ~00s
|+++ | 5 % ~00s
|+++ | 6 % ~00s
|++++ | 7 % ~00s
|++++ | 8 % ~00s
|+++++ | 9 % ~00s
|+++++ | 10% ~00s
|++++++ | 11% ~00s
|++++++ | 12% ~00s
|+++++++ | 13% ~00s
|+++++++ | 14% ~00s
|++++++++ | 15% ~00s
|++++++++ | 16% ~00s
|+++++++++ | 17% ~00s
|+++++++++ | 18% ~00s
|++++++++++ | 19% ~00s
|++++++++++ | 20% ~00s
|+++++++++++ | 21% ~00s
|+++++++++++ | 22% ~00s
|++++++++++++ | 23% ~00s
|++++++++++++ | 24% ~00s
|+++++++++++++ | 25% ~00s
|+++++++++++++ | 26% ~00s
|++++++++++++++ | 27% ~00s
|++++++++++++++ | 28% ~00s
|+++++++++++++++ | 29% ~00s
|+++++++++++++++ | 30% ~00s
|++++++++++++++++ | 31% ~00s
|++++++++++++++++ | 32% ~00s
|+++++++++++++++++ | 33% ~00s
|+++++++++++++++++ | 34% ~00s
|++++++++++++++++++ | 35% ~00s
|++++++++++++++++++ | 36% ~00s
|+++++++++++++++++++ | 37% ~00s
|+++++++++++++++++++ | 38% ~00s
|++++++++++++++++++++ | 39% ~00s
|++++++++++++++++++++ | 40% ~00s
|+++++++++++++++++++++ | 41% ~00s
|+++++++++++++++++++++ | 42% ~00s
|++++++++++++++++++++++ | 43% ~00s
|++++++++++++++++++++++ | 44% ~00s
|+++++++++++++++++++++++ | 45% ~00s
|+++++++++++++++++++++++ | 46% ~00s
|++++++++++++++++++++++++ | 47% ~00s
|++++++++++++++++++++++++ | 48% ~00s
|+++++++++++++++++++++++++ | 49% ~00s
|+++++++++++++++++++++++++ | 50% ~00s
|++++++++++++++++++++++++++ | 51% ~00s
|++++++++++++++++++++++++++ | 52% ~00s
|+++++++++++++++++++++++++++ | 53% ~00s
|+++++++++++++++++++++++++++ | 54% ~00s
|++++++++++++++++++++++++++++ | 55% ~00s
|++++++++++++++++++++++++++++ | 56% ~00s
|+++++++++++++++++++++++++++++ | 57% ~00s
|+++++++++++++++++++++++++++++ | 58% ~00s
|++++++++++++++++++++++++++++++ | 59% ~00s
|++++++++++++++++++++++++++++++ | 60% ~00s
|+++++++++++++++++++++++++++++++ | 61% ~00s
|+++++++++++++++++++++++++++++++ | 62% ~00s
|++++++++++++++++++++++++++++++++ | 63% ~00s
|++++++++++++++++++++++++++++++++ | 64% ~00s
|+++++++++++++++++++++++++++++++++ | 65% ~00s
|+++++++++++++++++++++++++++++++++ | 66% ~00s
|++++++++++++++++++++++++++++++++++ | 67% ~00s
|++++++++++++++++++++++++++++++++++ | 68% ~00s
|+++++++++++++++++++++++++++++++++++ | 69% ~00s
|+++++++++++++++++++++++++++++++++++ | 70% ~00s
|++++++++++++++++++++++++++++++++++++ | 71% ~00s
|++++++++++++++++++++++++++++++++++++ | 72% ~00s
|+++++++++++++++++++++++++++++++++++++ | 73% ~00s
|+++++++++++++++++++++++++++++++++++++ | 74% ~00s
|++++++++++++++++++++++++++++++++++++++ | 75% ~00s
|++++++++++++++++++++++++++++++++++++++ | 76% ~00s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~00s
|+++++++++++++++++++++++++++++++++++++++ | 78% ~00s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~00s
|++++++++++++++++++++++++++++++++++++++++ | 80% ~00s
|+++++++++++++++++++++++++++++++++++++++++ | 81% ~00s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~00s
|++++++++++++++++++++++++++++++++++++++++++ | 83% ~00s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~00s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~00s
|+++++++++++++++++++++++++++++++++++++++++++ | 86% ~00s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~00s
|++++++++++++++++++++++++++++++++++++++++++++ | 88% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++ | 90% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 91% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 94% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 96% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 99% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=00s
# Optional: project gene expression data onto protein-protein interaction (PPI)
cellchat <- projectData(cellchat, PPI.human)
# Compute the communication probability and infer cellular communication network
# cellchat <- computeCommunProb(cellchat)
cellchat <- computeCommunProb(cellchat, raw.use = FALSE) # use the projected data
triMean is used for calculating the average gene expression per cell group.
[1] ">>> Run CellChat on sc/snRNA-seq data <<< [2025-05-24 01:01:51.321298]"
|
| | 0%
|
|= | 1%
|
|== | 2%
|
|=== | 3%
|
|==== | 4%
|
|===== | 5%
|
|===== | 6%
|
|====== | 6%
|
|====== | 7%
|
|======= | 7%
|
|======= | 8%
|
|======== | 8%
|
|======== | 9%
|
|========= | 9%
|
|========= | 10%
|
|========== | 10%
|
|========== | 11%
|
|=========== | 11%
|
|=========== | 12%
|
|============ | 12%
|
|============ | 13%
|
|============= | 13%
|
|============= | 14%
|
|============== | 14%
|
|============== | 15%
|
|=============== | 15%
|
|=============== | 16%
|
|================ | 16%
|
|================ | 17%
|
|================= | 17%
|
|================= | 18%
|
|================== | 18%
|
|================== | 19%
|
|=================== | 19%
|
|=================== | 20%
|
|==================== | 20%
|
|==================== | 21%
|
|===================== | 21%
|
|===================== | 22%
|
|====================== | 22%
|
|====================== | 23%
|
|======================= | 23%
|
|======================= | 24%
|
|======================== | 24%
|
|======================== | 25%
|
|========================= | 25%
|
|========================= | 26%
|
|========================== | 26%
|
|========================== | 27%
|
|=========================== | 27%
|
|=========================== | 28%
|
|============================ | 28%
|
|============================ | 29%
|
|============================= | 29%
|
|============================= | 30%
|
|============================== | 30%
|
|============================== | 31%
|
|=============================== | 31%
|
|=============================== | 32%
|
|================================ | 32%
|
|================================ | 33%
|
|================================= | 33%
|
|================================= | 34%
|
|================================== | 34%
|
|================================== | 35%
|
|=================================== | 35%
|
|=================================== | 36%
|
|==================================== | 36%
|
|==================================== | 37%
|
|===================================== | 37%
|
|===================================== | 38%
|
|====================================== | 38%
|
|====================================== | 39%
|
|======================================= | 39%
|
|======================================= | 40%
|
|======================================== | 40%
|
|======================================== | 41%
|
|========================================= | 41%
|
|========================================= | 42%
|
|========================================== | 42%
|
|========================================== | 43%
|
|=========================================== | 43%
|
|=========================================== | 44%
|
|============================================ | 44%
|
|============================================ | 45%
|
|============================================= | 46%
|
|============================================== | 47%
|
|=============================================== | 48%
|
|================================================ | 49%
|
|================================================= | 50%
|
|================================================== | 51%
|
|=================================================== | 52%
|
|==================================================== | 53%
|
|===================================================== | 54%
|
|====================================================== | 55%
|
|====================================================== | 56%
|
|======================================================= | 56%
|
|======================================================= | 57%
|
|======================================================== | 57%
|
|======================================================== | 58%
|
|========================================================= | 58%
|
|========================================================= | 59%
|
|========================================================== | 59%
|
|========================================================== | 60%
|
|=========================================================== | 60%
|
|=========================================================== | 61%
|
|============================================================ | 61%
|
|============================================================ | 62%
|
|============================================================= | 62%
|
|============================================================= | 63%
|
|============================================================== | 63%
|
|============================================================== | 64%
|
|=============================================================== | 64%
|
|=============================================================== | 65%
|
|================================================================ | 65%
|
|================================================================ | 66%
|
|================================================================= | 66%
|
|================================================================= | 67%
|
|================================================================== | 67%
|
|================================================================== | 68%
|
|=================================================================== | 68%
|
|=================================================================== | 69%
|
|==================================================================== | 69%
|
|==================================================================== | 70%
|
|===================================================================== | 70%
|
|===================================================================== | 71%
|
|====================================================================== | 71%
|
|====================================================================== | 72%
|
|======================================================================= | 72%
|
|======================================================================= | 73%
|
|======================================================================== | 73%
|
|======================================================================== | 74%
|
|========================================================================= | 74%
|
|========================================================================= | 75%
|
|========================================================================== | 75%
|
|========================================================================== | 76%
|
|=========================================================================== | 76%
|
|=========================================================================== | 77%
|
|============================================================================ | 77%
|
|============================================================================ | 78%
|
|============================================================================= | 78%
|
|============================================================================= | 79%
|
|============================================================================== | 79%
|
|============================================================================== | 80%
|
|=============================================================================== | 80%
|
|=============================================================================== | 81%
|
|================================================================================ | 81%
|
|================================================================================ | 82%
|
|================================================================================= | 82%
|
|================================================================================= | 83%
|
|================================================================================== | 83%
|
|================================================================================== | 84%
|
|=================================================================================== | 84%
|
|=================================================================================== | 85%
|
|==================================================================================== | 85%
|
|==================================================================================== | 86%
|
|===================================================================================== | 86%
|
|===================================================================================== | 87%
|
|====================================================================================== | 87%
|
|====================================================================================== | 88%
|
|======================================================================================= | 88%
|
|======================================================================================= | 89%
|
|======================================================================================== | 89%
|
|======================================================================================== | 90%
|
|========================================================================================= | 90%
|
|========================================================================================= | 91%
|
|========================================================================================== | 91%
|
|========================================================================================== | 92%
|
|=========================================================================================== | 92%
|
|=========================================================================================== | 93%
|
|============================================================================================ | 93%
|
|============================================================================================ | 94%
|
|============================================================================================= | 94%
|
|============================================================================================= | 95%
|
|============================================================================================== | 96%
|
|=============================================================================================== | 97%
|
|================================================================================================ | 98%
|
|================================================================================================= | 99%
|
|==================================================================================================| 100%
[1] ">>> CellChat inference is done. Parameter values are stored in `object@options$parameter` <<< [2025-05-24 01:05:33.343415]"
# Filter out the cell-cell communication if there are only few number of cells in certain cell groups
cellchat <- filterCommunication(cellchat, min.cells = 10)
# Infer the cell-cell communication at a signaling pathway level
cellchat <- computeCommunProbPathway(cellchat)
# Calculate the aggregated cell-cell communication network
cellchat <- aggregateNet(cellchat)
cellchat@net$count
ILCs NK KC UK ILCs+NK FB EC+SMC B PH
ILCs 35 32 58 37 32 86 77 21 9
NK 33 34 39 32 31 86 72 20 18
KC 77 59 118 106 66 133 126 34 29
UK 38 28 93 74 28 115 110 9 9
ILCs+NK 33 33 38 22 25 69 70 15 8
FB 91 87 121 115 74 125 127 50 55
EC+SMC 79 67 111 102 67 118 111 34 41
B 19 22 13 4 18 36 31 6 10
PH 14 21 19 5 13 52 39 8 10
cellchat@net$weight
ILCs NK KC UK ILCs+NK FB EC+SMC B
ILCs 0.11489914 0.112108971 1.621116e-02 4.114771e-02 0.082158269 0.039815956 0.024496231 0.030227584
NK 0.13055332 0.524663135 3.010744e-02 5.572543e-02 0.088325746 0.074667665 0.075727731 0.021690204
KC 0.03281915 0.070988819 2.113551e-02 2.488180e-02 0.030911218 0.048229474 0.029378350 0.025377017
UK 0.04553401 0.047905687 1.133035e-02 7.391918e-03 0.033813470 0.028373022 0.026603173 0.001280091
ILCs+NK 0.10196743 0.107863387 1.487879e-02 3.970010e-02 0.077711654 0.026833180 0.018644891 0.037967858
FB 0.05387948 0.040273266 4.839934e-02 3.298680e-02 0.040672756 0.192959315 0.096695645 0.010361888
EC+SMC 0.01664501 0.001023907 9.649659e-03 7.552051e-03 0.004150033 0.060956685 0.051806315 0.003083762
B 0.03273964 0.040495127 5.535699e-05 1.409314e-05 0.027979346 0.009801424 0.000743569 0.013643298
PH 0.08025320 0.083182129 9.546808e-03 6.909823e-03 0.065638642 0.025616454 0.004357594 0.001405290
PH
ILCs 0.09771904
NK 0.08812072
KC 0.05718065
UK 0.04048959
ILCs+NK 0.10986059
FB 0.03791575
EC+SMC 0.01114021
B 0.05268786
PH 0.05157753
# Visualize the aggregated cell-cell communication network
groupSize <- as.numeric(table(cellchat@idents))
par(mfrow = c(1, 2), xpd=TRUE)
netVisual_circle(cellchat@net$count, vertex.weight = groupSize,
weight.scale = T, label.edge= F, title.name = "Number of interactions")
netVisual_circle(cellchat@net$weight, vertex.weight = groupSize,
weight.scale = T, label.edge= F, title.name = "Interaction weights/strength")
dev.off()
null device
1
# Examine the signaling sent from each cell group
mat <- cellchat@net$weight
par(mfrow = c(2, 6), xpd=TRUE)
for (i in 1:nrow(mat)) {
mat2 <- matrix(0, nrow = nrow(mat), ncol = ncol(mat), dimnames = dimnames(mat))
mat2[i, ] <- mat[i, ]
netVisual_circle(mat2, vertex.weight = groupSize, weight.scale = F,
edge.weight.max = max(mat), title.name = rownames(mat)[i])
}
dev.off()
null device
1
mat <- cellchat@net$weight
par(mfrow = c(1, 2), xpd=TRUE)
for (i in 1:nrow(mat)) {
mat2 <- matrix(0, nrow = nrow(mat), ncol = ncol(mat), dimnames = dimnames(mat))
mat2[i, ] <- mat[i, ]
netVisual_circle(mat2, vertex.weight = groupSize, weight.scale = T,
edge.weight.max = max(mat), title.name = rownames(mat)[i])}
# Compute the network centrality scores
cellchat <- netAnalysis_computeCentrality(cellchat, slot.name = "netP") # the slot 'netP' means the inferred intercellular communication network of signaling pathways
| | 0 % ~calculating
|+ | 2 % ~01s
|++ | 3 % ~02s
|+++ | 5 % ~02s
|++++ | 7 % ~01s
|+++++ | 8 % ~01s
|+++++ | 10% ~01s
|++++++ | 11% ~01s
|+++++++ | 13% ~01s
|++++++++ | 15% ~01s
|+++++++++ | 16% ~01s
|++++++++++ | 18% ~01s
|++++++++++ | 20% ~01s
|+++++++++++ | 21% ~01s
|++++++++++++ | 23% ~01s
|+++++++++++++ | 25% ~01s
|++++++++++++++ | 26% ~01s
|++++++++++++++ | 28% ~01s
|+++++++++++++++ | 30% ~01s
|++++++++++++++++ | 31% ~01s
|+++++++++++++++++ | 33% ~01s
|++++++++++++++++++ | 34% ~00s
|+++++++++++++++++++ | 36% ~00s
|+++++++++++++++++++ | 38% ~00s
|++++++++++++++++++++ | 39% ~00s
|+++++++++++++++++++++ | 41% ~00s
|++++++++++++++++++++++ | 43% ~00s
|+++++++++++++++++++++++ | 44% ~00s
|+++++++++++++++++++++++ | 46% ~01s
|++++++++++++++++++++++++ | 48% ~01s
|+++++++++++++++++++++++++ | 49% ~01s
|++++++++++++++++++++++++++ | 51% ~01s
|+++++++++++++++++++++++++++ | 52% ~01s
|++++++++++++++++++++++++++++ | 54% ~01s
|++++++++++++++++++++++++++++ | 56% ~00s
|+++++++++++++++++++++++++++++ | 57% ~00s
|++++++++++++++++++++++++++++++ | 59% ~00s
|+++++++++++++++++++++++++++++++ | 61% ~00s
|++++++++++++++++++++++++++++++++ | 62% ~00s
|++++++++++++++++++++++++++++++++ | 64% ~00s
|+++++++++++++++++++++++++++++++++ | 66% ~00s
|++++++++++++++++++++++++++++++++++ | 67% ~00s
|+++++++++++++++++++++++++++++++++++ | 69% ~00s
|++++++++++++++++++++++++++++++++++++ | 70% ~00s
|+++++++++++++++++++++++++++++++++++++ | 72% ~00s
|+++++++++++++++++++++++++++++++++++++ | 74% ~00s
|++++++++++++++++++++++++++++++++++++++ | 75% ~00s
|+++++++++++++++++++++++++++++++++++++++ | 77% ~00s
|++++++++++++++++++++++++++++++++++++++++ | 79% ~00s
|+++++++++++++++++++++++++++++++++++++++++ | 80% ~00s
|+++++++++++++++++++++++++++++++++++++++++ | 82% ~00s
|++++++++++++++++++++++++++++++++++++++++++ | 84% ~00s
|+++++++++++++++++++++++++++++++++++++++++++ | 85% ~00s
|++++++++++++++++++++++++++++++++++++++++++++ | 87% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++ | 89% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 90% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++ | 92% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++ | 93% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++ | 95% ~00s
|+++++++++++++++++++++++++++++++++++++++++++++++++ | 97% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 98% ~00s
|++++++++++++++++++++++++++++++++++++++++++++++++++| 100% elapsed=01s
# Visualize the computed centrality scores using heatmap, allowing ready identification of major signaling roles of cell groups
pathways.show <- c("IL4")
netAnalysis_signalingRole_network(cellchat, signaling = pathways.show, width = 8, height = 2.5, font.size = 10)
netVisual_chord_cell(cellchat, signaling = c("IL2"))
Plot the aggregated cell-cell communication network at the signaling pathway level
netVisual_chord_cell(cellchat, signaling = c("IL4"))
Plot the aggregated cell-cell communication network at the signaling pathway level
netVisual_chord_cell(cellchat, signaling = c("CCL"))
Plot the aggregated cell-cell communication network at the signaling pathway level
netVisual_chord_cell(cellchat, signaling = c("CXCL"))
Plot the aggregated cell-cell communication network at the signaling pathway level
netVisual_chord_cell(cellchat, signaling = c("MIF"))
Plot the aggregated cell-cell communication network at the signaling pathway level
netVisual_chord_cell(cellchat, signaling = c("BAG"))
Plot the aggregated cell-cell communication network at the signaling pathway level
We identify similar ligand-receptor communication among cell types as the paper (Fig. 3I). ILCs exhibit strong ligand-receptor interactions with other cell types, particularly in the IL-4 and CXCL signaling pathways. NK cells also engage in robust ligand-receptor interactions, especially through the CCL signaling pathways.
The rationale for re-clustering ILCs and NKs together is that they derive from a common lymphoid progenitor (CLP). By re-clustering them, we can identify ILC subtypes including NK, ILC1, ILC2, ILC3, and even some progenitors/rare cells.
# Check the idents
levels(Idents(harmonized_seurat))
[1] "ILCs" "NK" "KC" "UK" "ILCs+NK" "FB" "EC+SMC" "B" "PH"
# Subset the targeted cells
subset_cells <- subset(harmonized_seurat, idents = c("NK", "ILCs", "ILCs+NK"))
# Re-run SCTransform (NormalizeData, FindVariableFeatures, ScaleData workflow) to ensure that the gene variation is calculated on the subset
subset_cells <- SCTransform(subset_cells, vars.to.regress = "percent.mt", verbose = FALSE)
Warning: Different cells and/or features from existing assay SCT
# RunPCA
subset_cells <- RunPCA(subset_cells, assay = "SCT", npcs = 50)
PC_ 1
Positive: FTH1, LTB, RPL10, EEF1A1, IL32, KLRB1, RPL13, RPS18, RPL34, RGCC
AREG, RPL32, RPS6, IL13, VIM, RPL13A, RPL18A, RPL21, RPS2, RPL41
RPLP1, JUNB, LMNA, RPL11, RPL12, BIRC3, RPL19, IL7R, S100A4, RPS14
Negative: CCL4, GNLY, CCL3, CCL5, NKG7, CCL4L2, GZMA, IFNG, XCL2, XCL1
GZMK, CST7, GZMH, GZMB, CCL3L1, DUSP2, TYROBP, PRF1, KLRD1, FGFBP2
FCGR3A, ACTB, SPON2, FCER1G, KLRF1, CMC1, CD7, GZMM, LITAF, HOPX
PC_ 2
Positive: XCL1, CCL3, XCL2, JUNB, ZFP36, FTH1, CCL4, GZMK, RPS27, RPL13A
IFNG, LMNA, LTB, RPL21, RPS18, RPL31, RPS6, RPL27A, DUSP2, RPL41
NFKBIA, FOS, GADD45B, CCL3L1, RPL7, CCL5, RPL3, RPL34, RGCC, DUSP1
Negative: AREG, IL13, IL22, NBAS, HSPA1A, GZMB, VIM, ACTG1, PTGS2, ACTB
PRDX1, IL26, KRT14, ALOX5AP, S100A11, S100A8, GNLY, S100A4, HSPA1B, KRT16
S100A6, BATF, TNFSF10, NEAT1, KRT6A, GPR171, MIIP, HPGD, JUND, S100A9
PC_ 3
Positive: GNLY, NKG7, FGFBP2, RPL10, FCGR3A, SPON2, LTB, GZMH, PRF1, EEF1A1
RPL13, GZMA, RPL13A, RPS2, RPS6, HLA-B, ACTB, CLIC3, RPS3, RPS27A
RPL19, PFN1, PLAC8, RPS12, RPS3A, HLA-C, RPS18, RPL27A, CST7, KRT1
Negative: XCL1, XCL2, DUSP2, AREG, RGS1, CSF2, GZMK, IFNG, CD69, CCL3
NFKBIA, HSPA1A, DUSP1, ZFP36L2, SRGN, BTG1, DNAJB1, TSC22D3, IL13, DUSP4
HSPA1B, GADD45B, IL22, MCL1, CXCR4, TNFRSF18, FOS, CCL3L1, NR4A1, RPS26
PC_ 4
Positive: CCL4, CCL3, CCL4L2, IL13, CCL3L1, IFNG, EEF1A1, CSF2, IL22, LTB
RPL10, NBAS, PTGS2, RPL13, RPLP1, KLRB1, ZFP36, GADD45B, VIM, RPL28
JUN, AREG, RPS12, NFKBIA, HSPA1A, TPT1, RPL19, RPL11, RPS2, KRT14
Negative: GNLY, TSC22D3, SPINK2, TMSB4X, RGS1, ZFP36L2, GEM, CRIP1, ZNF683, B2M
TRAT1, TMPRSS11E, PABPC1, IGKC, PTMA, CTSW, EZR, BTG1, XIST, ITM2C
GZMH, PTP4A1, DNAJB1, MCL1, RCBTB2, CD96, ARF6, MIF, KRT86, PRF1
PC_ 5
Positive: HSPA1A, HSPA1B, HSPA6, DNAJB1, GADD45B, CD3D, SPINK2, KRT14, FOS, DUSP1
LGALS1, XCL1, TRAC, ACTB, MTRNR2L8, TXNIP, ACTG1, JUN, KRT5, NFKBIA
KLRC1, CCL3, SPTSSB, CD3E, TNF, TMPRSS11E, CD3G, CORO1B, LGALS3, KRT10
Negative: FTH1, AREG, GNLY, CCL5, IL13, GZMB, CREM, IL22, NKG7, PTGS2
RPS26, SRGN, SELENOK, KLRB1, CLEC2B, SDCBP, GZMH, REL, NAMPT, LITAF
RORA, GZMK, NFKBIZ, ZNF331, DUSP4, GNG2, RGCC, NBAS, FGFBP2, PNRC1
# Elbow Plot to visualize the optimal number of PCs
ElbowPlot(subset_cells)
# Find Neighbors
subset_cells <- FindNeighbors(subset_cells, dims = 1:20) # Using the first 20 PCs
Computing nearest neighbor graph
Computing SNN
# Find Clusters (Resolution can be adjusted)
subset_cells <- FindClusters(subset_cells, resolution = 0.5) # Adjust resolution based on your clustering needs
Modularity Optimizer version 1.3.0 by Ludo Waltman and Nees Jan van Eck
Number of nodes: 8377
Number of edges: 297398
Running Louvain algorithm...
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Maximum modularity in 10 random starts: 0.9033
Number of communities: 13
Elapsed time: 0 seconds
# Run UMAP for dimensionality reduction
subset_cells <- RunUMAP(subset_cells, dims = 1:20) # You can adjust the number of dimensions if necessary
13:37:08 UMAP embedding parameters a = 0.9922 b = 1.112
13:37:08 Read 8377 rows and found 20 numeric columns
13:37:08 Using Annoy for neighbor search, n_neighbors = 30
13:37:08 Building Annoy index with metric = cosine, n_trees = 50
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
13:37:08 Writing NN index file to temp file /var/folders/xh/0jp7wn_x1_g49f9z21wrqcs40000gn/T//Rtmprd5Zjq/file50a37c52359d
13:37:08 Searching Annoy index using 1 thread, search_k = 3000
13:37:10 Annoy recall = 100%
13:37:11 Commencing smooth kNN distance calibration using 1 thread with target n_neighbors = 30
13:37:13 Initializing from normalized Laplacian + noise (using RSpectra)
13:37:13 Commencing optimization for 500 epochs, with 346100 positive edges
13:37:13 Using rng type: pcg
Using method 'umap'
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
13:37:21 Optimization finished
# Visualize UMAP
p1 <- DimPlot(subset_cells, reduction = "umap", label = TRUE, group.by = "Sample")
p2 <- DimPlot(subset_cells, reduction = "umap", label = TRUE, group.by = "Condition")
p1 + p2
# # Run Harmony on the subset
# subset_cells <- RunHarmony(subset_cells,
# group.by.vars = c("Sample", "Condition"),
# reduction = "pca",
# assay.use = "SCT",
# reduction.save = "harmony")
# reduction_name <- "harmony"
# Since batch effect is observed in the subset, we run Harmony on the subset.
library(harmony)
subset_cells <- RunHarmony(subset_cells,
group.by.vars = c("Sample", "Condition"),
reduction = "pca",
assay.use = "SCT",
reduction.save = "harmony")
Transposing data matrix
Initializing state using k-means centroids initialization
Harmony 1/10
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Harmony 2/10
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Harmony 3/10
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Harmony 4/10
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Harmony 5/10
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Harmony 6/10
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Harmony 7/10
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
Harmony converged after 7 iterations
reduction_name <- "harmony"
# Visualize UMAP
p3 <- DimPlot(subset_cells, reduction = "harmony", label = TRUE, group.by = "Sample")
p4 <- DimPlot(subset_cells, reduction = "harmony", label = TRUE, group.by = "Condition")
p3 + p4
# Do the dimensional reduction on harmony embedding
subset_cells <- subset_cells %>%
RunUMAP(reduction = reduction_name, dims = 1:20) %>%
FindNeighbors(reduction = reduction_name, dims = 1:20) %>%
FindClusters(resolution = 0.1, algorithm = 4) # Try on Leiden clustering (4) instead of Louvain (1), but results are similar
00:15:18 UMAP embedding parameters a = 0.9922 b = 1.112
00:15:18 Read 8377 rows and found 20 numeric columns
00:15:18 Using Annoy for neighbor search, n_neighbors = 30
00:15:18 Building Annoy index with metric = cosine, n_trees = 50
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
00:15:19 Writing NN index file to temp file /var/folders/xh/0jp7wn_x1_g49f9z21wrqcs40000gn/T//Rtmprd5Zjq/file50a33ba01449
00:15:19 Searching Annoy index using 1 thread, search_k = 3000
00:15:21 Annoy recall = 100%
00:15:23 Commencing smooth kNN distance calibration using 1 thread with target n_neighbors = 30
00:15:25 Initializing from normalized Laplacian + noise (using RSpectra)
00:15:25 Commencing optimization for 500 epochs, with 357262 positive edges
00:15:25 Using rng type: pcg
Using method 'umap'
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
00:15:33 Optimization finished
Computing nearest neighbor graph
Computing SNN
Warning: `random.seed` must be greater than 0 for leiden clustering, resetting `random.seed` to 1.13 singletons identified. 8 final clusters.
Warning: Adding a command log without an assay associated with it
p5 <- DimPlot(subset_cells, reduction = "umap", group.by = "seurat_clusters", label = TRUE) +
ggtitle("UMAP of Re-clustered Subset, resolution 0.1")
ElbowPlot(subset_cells)
# Using ggh4x and dot plot to visulize canonical markers
# install.packages("ggh4x")
# library(ggh4x)
gene_celltype_df <- data.frame(
gene = c(
# NK
"KLRD1", "NKG7",
# ILC
"IL7R", "KLRB1",
# ILC1
"TBX21",
# ILC2
"GATA3", "RORA",
# ILC3
"AHR", "RORC"
),
cell_type = c(
rep("NK", 2),
rep("ILC", 2),
rep("ILC1", 1),
rep("ILC2", 2),
rep("ILC3", 2)
),
stringsAsFactors = FALSE
)
marker_genes <- gene_celltype_df$gene
p <- DotPlot(subset_cells, features = marker_genes) +
scale_color_gradient2(low = "blue", mid = "lightgrey", high = "red") +
theme(axis.text.x = element_text(angle = 45, hjust = 1))
Scale for colour is already present.
Adding another scale for colour, which will replace the existing scale.
p$data <- p$data %>%
left_join(gene_celltype_df, by = c("features.plot" = "gene"))
p <- p +
scale_x_discrete(position = "top") + # move x axis to the top, making it like the title of each features
facet_nested(~cell_type + features.plot, scales = "free_x", space = "free_x") +
guides(x = guide_axis_nested(check.overlap = TRUE)) +
theme(
axis.text.x = element_text(angle = 45, hjust = 0),
strip.text.x = element_text(size = 12, face = "bold"),
panel.spacing.x = unit(0.2, "lines")
)
ggsave(filename = "NK_ILC_annotation2.png", plot = p, width = 15, height = 8, dpi = 300)
p
Since the canonical marker visualization did not clearly distinguish ILC subtypes, we followed the paper’s approach and used SingleR for annotation.
# BiocManager::install("SingleR")
# install.packages("dplyr")
# install.packages("tidyr")
# Load the libraries
library(SingleR)
library(SummarizedExperiment)
library(Matrix)
library(tidyverse)
library(data.table)
# Part 1. Process the raw reference files (provided by the paper)
data_dir <- "/Users/yunchichen/113-2_scRNA/final_project/GSE70580_RAW/"
# List all files
files <- list.files(data_dir, full.names = TRUE, pattern = "*.txt.gz")
# Function to get labels from file name
get_label_from_filename <- function(filename) {
parts <- strsplit(gsub(".txt.gz", "", basename(filename)), "_")[[1]]
label <- parts[length(parts) - 1]
return(label)
}
# Initialize
expr_list <- list()
labels <- c()
sample_names <- c()
for (f in files) {
label <- get_label_from_filename(f)
if (!is.na(label)) {
# Read file, assuming it's tab-delimited with header
df <- fread(f, header = TRUE)
# Extract relevant columns
gene_names <- df[[1]] # "#Gene symbol"
expr_values <- df[["RPKM"]] # Use RPKM column as expression
# Name the vector using gene symbols
names(expr_values) <- gene_names
# Store
expr_list[[f]] <- expr_values
labels <- c(labels, label)
sample_names <- c(sample_names, basename(f)) # for colnames later
}
}
# Part 2. Build the Expression Matrix
# Use common genes across all samples
common_genes <- Reduce(intersect, lapply(expr_list, names))
# Build expression matrix
expr_mat <- do.call(cbind, lapply(expr_list, function(x) x[common_genes]))
rownames(expr_mat) <- common_genes
colnames(expr_mat) <- sample_names
# Part 3. Create SingleR reference object
library(SummarizedExperiment)
log_expr_mat <- log2(expr_mat + 1) #SingleR expects log-normalized expression
ref_se <- SummarizedExperiment(
assays = list(logcounts = log_expr_mat)
)
colData(ref_se)$label <- labels
# SingleR expects log-normalized counts, not corrected residuals from SCTransform
DefaultAssay(subset_cells) <- "RNA"
subset_cells <- NormalizeData(subset_cells)
Normalizing layer: counts
Performing log-normalization
0% 10 20 30 40 50 60 70 80 90 100%
[----|----|----|----|----|----|----|----|----|----|
**************************************************|
# Extract expression matrix for annotation
test_expr <- GetAssayData(subset_cells, assay = "RNA", slot = "data") # gene (rows) × cells (columns) matrix
# Run SingleR
singleR_results <- SingleR(
test = as.matrix(test_expr), # cell-level matrix
ref = ref_se, # bulk reference
labels = ref_se$label # vector of labels (e.g., ILC1, ILC2, ILC3, NK)
)
Warning: sparse->dense coercion: allocating vector of size 2.1 GiB
# Add SingleR labels back to Seurat metadata
subset_cells$SingleR_label <- singleR_results$labels
# Visualize results
DimPlot(subset_cells, group.by = "SingleR_label", label = TRUE) +
ggtitle("SingleR Annotation")
subset_cells$SingleR_pruned <- singleR_results$pruned.labels
DimPlot(subset_cells, group.by = "SingleR_pruned", label = TRUE)
From the results, NK cells and ILC2s can be easily distinguished, which is consistent with the findings reported in the paper. We also observed that ILC1s are scattered across different clusters, which similarly aligns with the paper’s observations. Another similarity is that only a small proportion of ILC3s were identified. In summary, ILC2s and NK cells appear to be the predominant innate lymphoid cell populations in human skin.
# Check default assay and idents
DefaultAssay(harmonized_seurat)
DefaultAssay(harmonized_seurat) <- "SCT"
table(Idents(harmonized_seurat))
# Perform differential expression for ILCs
ad <- PrepSCTFindMarkers(harmonized_seurat)
ad$celltype.stim <- paste(ad$celltype.paper, ad$Condition, sep = "_")
Idents(ad) <- "celltype.stim"
ilc.ad.response <- FindMarkers(ad, ident.1 = "ILCs_AD", ident.2 = "ILCs_NHS", verbose = FALSE)
# Filter genes with p_val_adj < 0.05 & pct.1 > 0.2
significant_genes <- ilc.ad.response[ilc.ad.response$p_val_adj < 0.05 & ilc.ad.response$pct.1 > 0.2,]
# Rank by avg_log2FC (absolute value for both upregulated and downregulated genes)
ranked_genes <- significant_genes[order(significant_genes$avg_log2FC, decreasing = TRUE), ]
# View the top upregulated genes
head(ranked_genes, 20) # Top 20 upregulated genes
# Perform differential expression for NK
nk.ad.response <- FindMarkers(ad, ident.1 = "NK_AD", ident.2 = "NK_NHS", verbose = FALSE)
# Filter genes with p_val_adj < 0.05 & pct.1 > 0.2
significant_genes2 <- nk.ad.response[nk.ad.response$p_val_adj < 0.05 & nk.ad.response$pct.1 > 0.2,]
# Rank by avg_log2FC (absolute value for both upregulated and downregulated genes)
ranked_genes2 <- significant_genes2[order(significant_genes2$avg_log2FC, decreasing = TRUE), ]
# View the top upregulated genes
head(ranked_genes2, 20) # Top 20 upregulated genes
The top 20 unregulated genes were input to Enrichr to do functional enrichment analysis using Reactome and KEGG database. In atopic dermatitis (AD), ILCs exhibited upregulated immune-related pathways, with DEGs such as IL22 and IL26 (associated with ILC3), and AREG (associated with ILC2). In addition, NK cells in AD showed upregulation of TNF signaling and antimicrobial response pathways.
# Check default assay and idents
DefaultAssay(subset_cells)
[1] "SCT"
DefaultAssay(subset_cells) <- "SCT"
table(Idents(subset_cells))
1 2 3 4 5 6 7 8
2852 1842 1495 1464 705 15 2 2
Idents(subset_cells) <- subset_cells$SingleR_pruned
table(Idents(subset_cells))
NK ILC1 ILC2 ILC3
3058 1987 3202 23
# Perform differential expression
ad.ilc <- PrepSCTFindMarkers(subset_cells)
Only one SCT model is stored - skipping recalculating corrected counts
ad.ilc$celltype.stim <- paste(ad.ilc$SingleR_pruned, ad.ilc$Condition, sep = "_")
Idents(ad.ilc) <- "celltype.stim"
# ILC1-----------------------------------
ad.ilc1.response <- FindMarkers(ad.ilc, ident.1 = "ILC1_AD", ident.2 = "ILC1_NHS", verbose = FALSE)
# Filter genes with p_val_adj < 0.05 & pct.1 > 0.2
significant_genes1 <- ad.ilc1.response[ad.ilc1.response$p_val_adj < 0.05 & ad.ilc1.response$pct.1 > 0.2,]
# Rank by avg_log2FC (absolute value for both upregulated and downregulated genes)
ranked_genes1 <- significant_genes1[order(significant_genes1$avg_log2FC, decreasing = TRUE), ]
# View the top upregulated genes
head(ranked_genes1, 20) # Top 20 upregulated genes
# ILC2-----------------------------------
ad.ilc2.response <- FindMarkers(ad.ilc, ident.1 = "ILC2_AD", ident.2 = "ILC2_NHS", verbose = FALSE)
# Filter genes with p_val_adj < 0.05 & pct.1 > 0.2
significant_genes2 <- ad.ilc2.response[ad.ilc2.response$p_val_adj < 0.05 & ad.ilc2.response$pct.1 > 0.2,]
# Rank by avg_log2FC (absolute value for both upregulated and downregulated genes)
ranked_genes2 <- significant_genes2[order(significant_genes2$avg_log2FC, decreasing = TRUE), ]
# View the top upregulated genes
head(ranked_genes2, 20) # Top 20 upregulated genes
# ILC3-----------------------------------
ad.ilc3.response <- FindMarkers(ad.ilc, ident.1 = "ILC3_AD", ident.2 = "ILC3_NHS", verbose = FALSE)
# Filter genes with p_val_adj < 0.05 & pct.1 > 0.2
significant_genes3 <- ad.ilc3.response[ad.ilc3.response$p_val_adj < 0.05 & ad.ilc3.response$pct.1 > 0.2,]
# Rank by avg_log2FC (absolute value for both upregulated and downregulated genes)
ranked_genes3 <- significant_genes3[order(significant_genes3$avg_log2FC, decreasing = TRUE), ]
# View the top upregulated genes
head(ranked_genes3, 20) # Top 20 upregulated genes
# NK-----------------------------------
ad.nk.response <- FindMarkers(ad.ilc, ident.1 = "NK_AD", ident.2 = "NK_NHS", verbose = FALSE)
# Filter genes with p_val_adj < 0.05 & pct.1 > 0.2
significant_genes4 <- ad.nk.response[ad.nk.response$p_val_adj < 0.05 & ad.nk.response$pct.1 > 0.2,]
# Rank by avg_log2FC (absolute value for both upregulated and downregulated genes)
ranked_genes4 <- significant_genes4[order(significant_genes4$avg_log2FC, decreasing = TRUE), ]
# View the top upregulated genes
head(ranked_genes4, 20) # Top 20 upregulated genes
The top 20 unregulated genes were input to Enrichr to do functional enrichment analysis using Reactome and KEGG database. Due to the limited number of ILC3 cells, no significant DEGs could be identified based on the adjusted p-value (p_val_adj). For NK cells, ILC1, and ILC2, the Reactome analysis revealed enrichment in the ‘Metal Sequestration by Antimicrobial Proteins’ pathway, while the KEGG analysis identified enrichment in the ‘IL-17 signaling pathway’.